學習筆記--C++ autotools工具使用

2017.04.05
GNU autotools安裝
要安裝autotools需要如下幾個文件
automake,autoconf,M4
安裝順序是M4 -> autoconf -> automake (重要)

安裝需要的命令:
tar zxvf **
./configure
make
make install

mac下:
brew install autoconf
brew install automake
(沒有裝上M4也正常使用了)

autotools使用
源碼目錄如下

main.cpp
inc/test.h
src/test.cpp

1.手工編寫Makefile.am這個文件

#Makefile.am  
UTOMAKE_OPTIONS = foreign
bin_PROGRAMS    = main  
main_SOURCES     = main.cpp inc/test.h src/test.cpp  
mian_CPPFLAGS    = -I include/

2.在源代碼目錄樹的最高層運行autoscan。然後手動修改configure.scan文件,重命名爲configure.ac
並修改內容:

AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)  
修改爲:AC_INIT(main,0.0.1,[email protected]) 

在AC_INIT(main,0.0.1,[email protected])下一行添加
AM_INIT_AUTOMAKE(main,0.0.1)

在AC_OUTPUT 上一行添加
AC_CONFIG_FILES([Makefile]) 

3.使用aclocal命令,掃描configure.ac文件生成 aclocal.m4文件,
該文件主要處理本地的宏定義,它根據已經安裝的宏、用戶定義宏和acinclude.m4文件中的宏將 configure.ac文件需要的宏集中定義到文件 aclocal.m4 中

4.使用autoconf命令生成configure文件。這個命令將configure.ac文件中的宏展開,生成configure 腳本。這個過程可能要用到aclocal.m4中定義的宏。

5.使用 autoheader 命令生成 config.h.in 文件。該命令通常會從 “acconfig.h” 文件中複製用戶附加的符號定義。該例子中沒有附加的符號定義, 所以不需要創建 “acconfig.h” 文件

6.運行automake –add-missing,它根據Makefile.am的內容生成Makefile.in。

7.運行configure,它會根據Makefile.in的內容生成Makefile這個文件。

8.獲得Makefile文件後,我們就可以使用make程序來管理我們的工程了

第3-7步可以寫成build.sh

#!/bin/bash
aclocal  
autoconf 
autoheader
touch NEWS README AUTHORS ChangeLog 
automake --add-missing  
./configure
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章