在前面的標准編譯安裝中,第一步是./configure,它會根據Makefile.in生成Makefile文件,然後make根據Makefile自動編譯軟件。
通常在一個源碼包中,已經包含了configure腳本和Makefile文件,作為課外知識,我們大致了解一下怎麼生成這兩個文件。
autoconf
autoconf用來生成configure腳本,它可以檢查系統特性、編譯環境、環境變量、軟件參數、依賴關系等。
autoconf需要用到 m4
1. 用autoscan命令描源代碼目錄生成configure.scan文件;
2. 將configure.scan改名為configure.in(需要在configure.in文件中添加
AM_INIT_AUTOMAKE(projectName,Version) );
3. 用aclocal根據configure.in文件的內容,自動生成aclocal.m4文件;
4. 使用autoconf,根據configure.in和aclocal.m4來產生configure文件;
automake
automake可以從Makefile.am文件自動生成Makefile.in,它主要用來配置源代碼。
automake需用到perl。
· 手工寫Makefile.am;
· 使用automake,根據configure.in和Makefile.am來產生Makefile.in;
Makefile
使用configure腳本,配合Makefile.in可以生成Makefile文件,然後用make自動化的編譯軟件。
這裡有一張生成Makefile的流程圖: