有时由于SCM没有严格记住文件的时间戳,生成的Makefile会认为它需要重新运行“autoreconf -i”或相当于从Makefile.am重新生成Makefile.in,从configure配置。 ac等。
如何防止这种情况?
我想阻止它,因为它会导致这些问题:
我知道我可以在制作dist tarball之前“触摸”生成的文件,但在我看来,这只能解决tarball的问题,而不是开发人员。这也是一个丑陋的黑客,解决一个应该关闭的错误。此外,它打破了git存档,因为无论如何时间戳并不总是正确的。
其他SCM也有这个,所以问题不在于(IMO)git。
答案 0 :(得分:8)
你需要调查maintainer mode - 这应该会阻止autoreconf步骤,这将解决最终用户的问题。
添加
AM_MAINTAINER_MODE
到您的configure.ac / configure.in文件,然后(除非您指定--enable-maintainer-mode
)配置时,您的Makefile将不包含重新配置规则。