Automake
GNU Automake是一種編程工具,可以產生供make程式使用的Makefile,用來編譯程式。它是自由軟體基金會發起的GNU計劃的其中一項,作為GNU構建系統的一部分。automake所產生的Makefile符合GNU編程標準。 automake是由Perl語言所寫的,必須和GNU autoconf一併使用。automake包含了以下命令:
aclocal是個泛用的程式,對於autoconf使用者是相當有用的。舉例而言,GNU Compiler Collection使用aclocal,即使Makefile是手寫的。 就像autoconf,automake並非完全向下相容的。舉例而言,使用automake 1.4的專案可能不能使用automake 1.9。 方法Automake目標是讓使用者透過高階語言來寫makefile,而不是透過純手工的方式來寫整個makefile。在簡單的情況下,它能提供: 經由這些資訊,Automake產生makefile能夠讓使用者:
依存性資訊的產生Automake能夠自動生成依存性的資訊,因此,當一個源文件被修改,下次呼叫make命令的時候就會知道哪些源文件需要重新編譯。如果編譯器允許,Automake會試著讓依存性系統保持動態:無論何時源文件被編譯,都會要求編譯器重新產生依存性列表更新該文件的依存性。換句話說,依存性追蹤是編譯過程的一種邊際效應。 這企圖避免一些靜態依存性系統的問題,比如依存性只會在程式員開始專案時才會被偵測到。在這種情況下,如果源文件獲得一個新的依存性(例如,如果程式員增加了一個新的 LibtoolAutomake还可用来辅助库的编译,它可以自动生成调用Libtool的Makefile文件,从而使程序员避免了直接调用Libtool,而项目也可以从此可移植的库生成工具获益。 參見參考資料
外部連結
教材
|