2009-06-01 63 views
4

有時由於SCM沒有嚴格記住文件的時間戳,所生成的Makefile會認爲它需要重新運行「autoreconf -i」或者等同於從Makefile.am重新生成Makefile.in,從configure.ac進行配置等。如何防止自動工具自動重新生成配置腳本?

我該如何預防?

我想阻止它,因爲它會導致這些問題:

  • 創建DIST歸檔時(GIT存檔--format =焦油...)時間戳將是不正​​確的,這個問題將在那裏爲終端用戶。不酷。
  • 在速度較慢的系統上,這使得編譯時間更長,因爲它不再進行配置,make,make install,但是配置,autoreconf -i,configure,make make install。

我知道在製作dist tar包之前我可以「觸摸」生成的文件,但在我看來,只能解決tarball問題,而不是開發人員。解決應該關閉的錯誤特徵也是一件醜惡的事情。此外,它打破了git歸檔,因爲時間戳不會總是正確的。

其他SCM也有這個,所以問題不是(IMO)與git。

回答

7

您需要查看maintainer mode - 這應該防止autoreconf步驟,這將解決最終用戶的問題。

添加

AM_MAINTAINER_MODE 

您configure.ac/configure.in文件,然後(除非您指定--enable-maintainer-mode)當您配置,你的Makefile將不包含重新配置規則。

+0

這似乎已經做到了。謝謝。 – Thomas 2009-06-01 19:51:23