Autoconf/Automake工具簡介


  在linux下編程的時候,有時候工程項目很大,文件比較多,此時需要使用自動創建Makefile文件功能。也就是使用Autoconf/Automake工具自動生成Makefile,為編譯程序帶來了方便,當前大多數軟件包都是用此方法生成,Autoconf/Automake工具主要包括autoconf,automake,perl,m4。

Autoconfig/Automake工具使用實例

一、首先建立編寫一個C源程序文件,命名為hello.c,其代碼很簡單,就是hello world!程序。

二、使用Autoscan工具生成config.ac文件.

 

該文件的簡要說明如下:

1、  AC_PREREQQ宏聲明本文件要求的autoconf版本,這里是2.63

2、  AC_INIT定義軟件的名稱和信息。(DULL-PACKAGE-NAME為軟件名,VERSION為軟件的版本號,BUG-REPORT-ADDRESSbug的報告地址,一般為軟件作者的郵箱)

3、  AC_CONFIG_SRCDIR用來偵測指定的源碼文件是否存在,確定源碼目錄的有效性。此處為當前目錄下hello.c

4、  AC_CONFIG_HEADER用於生成config.h文件,以便autoheader使用

5、  AC_PROG_CC用來指定編譯器,以便不指定的時候默認為gcc

6、  AC_OUTPUT用來設定config要產生的文件。如果是Makefile,config會把它檢查出來的結果帶入Makefile.in文件產生合適的Makefile.

三、獲得並且修改configure.ac

#cp configure.scan configure.ac

並作以下的修改

這里注意重要的一點:AM_INIT_AUTOMAKE宏需要自己進行添加,它是automake所必備的宏。

三、使用aclocal工具生成aclocal.m4

四、使用autoconf工具生成configure文件

五、使用autoheader工具生成config.h.in文件

六、創建Makefile.am文件

Automake工具會根據config.in中的參量把Makefile.am轉換成Makefile.in文件。在使用Automake之前,要先手動建立Makefile.am文件。

幾點需要說明:

1AUTOMAKE_OPTIONS為設置的Automake選項。它有三種等級提供給用戶選擇:foreigngnu,gnits,默認等級為gnu.在此使用foreign,它只檢測必須的文件。

2bin_PROGRAMS定義要產生的執行文件名。如果要產生多個可執行文件,則每個文件名用空格隔開。

3hello_SOURCES定義為hello這個程序所需要的原始文件。如果其石油多個文件組成的,則必須用空格進行隔開。

七、使用Automake生成Makefile.in文件

要使用選項“--add-missing”可以讓Automake自動添加一些必要的腳本文件。如下

八、配置。

運行自動配置設置文件configure,把Makefile.in編程最終的Makefile

九.測試

運行Make命令進行編譯。然后運行hello程序。

 

其他相關資料鏈接:

https://www.ibm.com/developerworks/cn/linux/l-makefile/

http://www.gnu.org/software/autoconf/manual/autoconf.html#Redefined-M4-Macros

http://www.gnu.org/software/automake/manual/automake.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM