AutoTool使用
1.0 簡介
–Makefile而且常常會受到自己的開發環境的限制,只要環境引數不同或者路徑更改,可能 Makefile 就得跟著修改修改。雖然有 GNU Makefile Conventions (GNU Makefile慣例)訂出一些使用 GNU 程式設計時撰寫 Makefile 的一些標準和規範,但是內容很長而且很複雜,並且經常作一些調整,為了減輕程式開發人員維護Makefile 的負擔 , autotools系列工具應運而生。
–必需的工具autoconf/automake/m4/perl/libtool
–使用autotools生成Makefile的流程為:autoscan
•autoconf是一個用於生成可以自動地配置軟體原始碼包,用以適應多種UNIX類系統的shell指令碼工具,其中autoconf需要用到 m4,便於生成指令碼。 最後生成可執行程式configure
•automake是一個從Makefile.am檔案自動生成Makefile.in的工具。為了生成Makefile.in
2.0 按裝autotool
Ubuntu18.04
sudo apt-get install autoconf
可以使用switch 可測試安裝是否成功,如下
@ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which aclocal /usr/bin/aclocal @ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which autoscan /usr/bin/autoscan @ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which automake /usr/bin/automake @ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which autoheader /usr/bin/autoheader @ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which autoconf /usr/bin/autoconf
3.0 Autotools執行流程
1. 執行autoscan命令。這個命令主要用於掃描工作目錄,並且生成configure.scan檔案。
2. 修改configure.scan為configure.ac檔案,並且修改配置內容。
3. 執行aclocal命令。掃描 configure.ac 檔案生成 aclocal.m4檔案。
4. 執行autoconf命令。這個命令將 configure.ac 檔案中的巨集展開,生成 configure 指令碼。
5. 執行autoheader命令。該命令生成 config.h.in 檔案。
6. 新增Makefile.am檔案,修改配置內容
7. 執行automake --add-missing命令。該命令生成 Makefile.in 檔案。
8. 執行 ./congigure命令。將Makefile.in命令生成Makefile檔案。
9. 執行make命令。生成可執行檔案。