makefile - 自动工具:强制不重建configure/Makefile

标签 makefile cvs autotools autoconf automake

我有一个带有自动工具的项目:automake,autoconf。

我想禁止make重建文件configureMakefile.in等;只是为了做编译工作。

有些文件是手工编辑的,我知道我不应该这样做。 (或者从CVS更新项目,并将所有生成的文件存储在CVS中)。
但是目前我没有安装正确版本的自动工具。

此文件的修改时间必须是什么(必须是新的/旧的):

aclocal.m4
configure.in
confdb/ax_prefix_config_h.m4
Makefile.am
Makefile.in
Makefile
configure
config.status

或者:为了实现我的目标,我必须执行什么顺序的touch命令?

最佳答案

首先,如果直接编辑生成的文件,则无论如何都不会重建它,因为它比其先决条件要新。

然后,这里有两个独立的过程:config.statusMakefile是在构建期间创建的。除非您将它们的时间戳记更新为新的,否则很难防止它们在构建期间被重新制作。

其他文件由各种自动工具生成。默认情况下,最新版本的Automake不会创建自动重新创建规则的规则。根据您的软件包,您可能需要使用configure选项--disable-maintainer-mode。 Automake文档包含有关该选项的一些更有趣的信息。

有时,我对一个我不太了解的软件包或构建系统非常困惑的软件包使用的一个技巧是运行类似

make all AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:

因此,如果碰巧调用了这些程序,则将替换noop。

关于makefile - 自动工具:强制不重建configure/Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5731023/

相关文章:

llvm - 构建 LLVM 位代码的自动工具软件

build - 如何将 Autotools 项目转换为 CMake 项目?

java - 使用 Hudson 覆盖 cvs 的本地模块目录

jenkins - 带有逗号v的cvs文件名

c++ - C/C++ : Add -I option automatically for indirect include using automake

git - 在 Gitlab 中用于分支的 Webhooks

c++ - GDB找不到符号表

c - Makefile 中 "thing.o: thing.c"中的隐式命令是什么?

c++ - 如何在 C++ 中使用 makefile 编译 "not-main"(仅限 .hpp)文件?

java - 通过Java编程在CVS中存储图像