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