我有一个带有自动工具的项目:automake,autoconf。
我想禁止make
重建文件configure
,Makefile.in
等;只是为了做编译工作。
有些文件是手工编辑的,我知道我不应该这样做。 (或者从CVS更新项目,并将所有生成的文件存储在CVS中)。
但是目前我没有安装正确版本的自动工具。
此文件的修改时间必须是什么(必须是新的/旧的):
aclocal.m4
configure.in
confdb/ax_prefix_config_h.m4
Makefile.am
Makefile.in
Makefile
configure
config.status
或者:为了实现我的目标,我必须执行什么顺序的
touch
命令?
最佳答案
首先,如果直接编辑生成的文件,则无论如何都不会重建它,因为它比其先决条件要新。
然后,这里有两个独立的过程:config.status
和Makefile
是在构建期间创建的。除非您将它们的时间戳记更新为新的,否则很难防止它们在构建期间被重新制作。
其他文件由各种自动工具生成。默认情况下,最新版本的Automake不会创建自动重新创建规则的规则。根据您的软件包,您可能需要使用configure
选项--disable-maintainer-mode
。 Automake文档包含有关该选项的一些更有趣的信息。
有时,我对一个我不太了解的软件包或构建系统非常困惑的软件包使用的一个技巧是运行类似
make all AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
因此,如果碰巧调用了这些程序,则将替换noop。
关于makefile - 自动工具:强制不重建configure/Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5731023/