Automake使用Makefile軟件簡介及條件
在Unix上寫過程序的人尤其是用 C 來開發(fā)程序的人一般都遇到過 Makefile,用 make 來開發(fā)和編譯程序的確很方便,可是要寫出一個Makefile就不那么簡單了。GNU Make 那份幾百頁的文件,讓許多人害怕。當然,現(xiàn)在關(guān)于make的文檔比較多,不過寫一個Makefile總是一件很煩人的事情,GNU Autoconf 及 Automake 這兩個軟件就是幫助程序開發(fā)者輕松產(chǎn)生Makefile 文件的?,F(xiàn)在的GNU軟件如Apache, MySQL Minigui等都是利用Autoconf,Automake實現(xiàn)自動編譯的。用戶只要使用 “./configure”, “make”, “make install” 就可以把程序安裝到系統(tǒng)中。
簡介
Makefile 基本上就是『目標』(target), 『關(guān)聯(lián)』(dependencies) 和『動作』三者所組成的一系列規(guī)則。而 make 就是根據(jù) Makefile 的規(guī)則決定如何編譯 (compile) 和連接(link) 程序或者其它動作。當然,make 可做的不只是編譯和連接程序,例如 FreeBSD 的 port collection 中,Makefile還可以做到自動下載遠程程序,解壓縮 (extract) ,打補丁 (patch),設(shè)定,然后編譯,安裝到系統(tǒng)中。
Makefile 基本結(jié)構(gòu)雖然很簡單,但是妥善運用這些規(guī)則就可以變換出許多不同的花樣。卻也因為這樣,許多人剛開始學寫Makefile 時會覺得沒有規(guī)范可以遵循,每個人寫出來的Makefile都不大一樣,不知道從哪里下手,而且常常會受到開發(fā)環(huán)境的限制,只要環(huán)境參數(shù)不同或者路徑更改,可能 Makefile 就得跟著修改。
雖然有GNU Makefile Conventions(GNU Makefile慣例)制訂出一些在進行 GNU 程序設(shè)計時寫 Makefile 的一些標準和規(guī)范,但是其內(nèi)容很長而且很復雜,并且經(jīng)常作一些調(diào)整,為了減輕程序開發(fā)人員維護Makefile 的負擔,就出現(xiàn)了Automake。利用Automake,編程者只需要寫一些預先定義好的宏 (macro),提交給Automake處理,就會產(chǎn)生一個可以供 Autoconf 使用的 Makefile.in文件。再配合使用 Autoconf產(chǎn)生的自動配置文件 configure 即可產(chǎn)生一份符合 GNU Makefile 慣例的 Makeifle 了。
需要的軟件
在開始使用 Automake 之前,首先確認你的系統(tǒng)安裝有如下軟件:
1. GNU Automake
2. GNU Autoconf
3. GNU m4
4. perl
5. GNU Libtool (如果你需要產(chǎn)生 shared library)
***也使用 GNU C/C++ 編譯器 、GNU Make 以及其它 GNU 的工具程序來作為開發(fā)的環(huán)境,這些工具都是屬于 Open Source Software 不但免費而且功能強大。如果你是使用 RedHat Linux 可以找到所有上述軟件的 rpm 文件?!?/p>
【編輯推薦】