osg*_*sgx 7 cvs automake autoconf makefile autotools
我有一个autotools项目:automake,autoconf.
我想禁止make从改造的文件configure,Makefile.in等等; 只是为了编译工作.
有些文件是手工编辑的,我知道我不应该这样做.(或者项目已从CVS更新,所有生成的文件都存储在CVS中).但目前我没有安装正确版本的autotools.
必须修改此文件的时间(必须更新/更旧):
aclocal.m4
configure.in
confdb/ax_prefix_config_h.m4
Makefile.am
Makefile.in
Makefile
configure
config.status
Run Code Online (Sandbox Code Playgroud)
或者:touch我必须执行哪些命令才能实现目标?
Pet*_*aut 10
首先,如果直接编辑生成的文件,则无论如何都不会重建它,因为它比它的先决条件更新.
然后,这里有两个不同的东西:config.status并且Makefile在构建期间创建.除非你使他们的时间戳更新,否则很难防止这些在构建期间被重新制作.
其他文件由各种autotools生成.最新版本的Automake默认情况下不会创建自动重新制作的规则.根据您的包,您可能希望使用该configure选项--disable-maintainer-mode.Automake文档包含有关该选项的一些更有趣的信息.
我有时会使用一个我不太了解的包或者有一个非常混乱的构建系统的一个技巧是运行类似的东西
make all AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
Run Code Online (Sandbox Code Playgroud)
因此,如果恰好调用这些程序,则会替换noop.