autotools概括

最近接觸到許多linux項目,其編譯都是使用的autotools。
autotools是一個自動化的編譯工具。我的理解它的最主要功能就是生成Makefile。
由於直接寫Makefiel,其依賴關係仍是比較複雜的。

通常的咱們下載的源碼包只要經過如下3條命令,就可完成編譯和安裝:
./configure
make
sudo make install

可是autotools其原本仍是很是複雜的,下面給出參考
如下是命令列表:
autoscan        掃描給定的目錄及其子目錄,以搜尋普通的可移植性問題,好比檢查編譯器,庫,頭文件等。
                生成的configure.scan是configure.ac文件的原型。

aclocal         是一個收集宏的過程。
                將已經安裝的宏、用戶定義宏和acinclude.m4文件中的宏集中定義到文件aclocal.m4中。

autoheader      生成宏定義的模板文件config.h.in。
                宏定義模板文件被後面的命令所須要。

automake        根據configure.ac和Makefile.am中定義的結構,生成Makefile.in文件。

libtoolize      若是在configure.ac中定義了一些特殊的宏,好比AC_PROG_LIBTOO,automake將會調用此命令。

autoconf        生成configure腳本文件。

make distclean  清除全部生成的文件

./configure     生成Makefile。

make            編譯。

make install    把程序安裝到系統目錄中去。

make uninstall  卸載程序。

make clean      清除生成的目標文件及過程當中產生的文件。

make distclean  清除全部產生的文件。

make dist       將程序和相關的文檔打包爲一個.tar.gz壓縮文件以供發佈。

autoupdate      若是更新了Autoconf工具的版本,此命令可更新configure.in。
autoreconfig    若是更新了Autoconf工具的版本,此命令可更新產生的配置文件。
ifname          掃描C源程序文件,在標準輸出上輸出那些出如今#if,#elif,#ifdef或#ifndef中的標識符,
                每一個標識符顯示爲一行,其後跟一空格和所屬的文件名。

command       input              output
--------------------------------------------------
autoscan      [source]           configure.scan
                                 autoscan.log

aclocal       configure.ac       aclocal.m4

autoheader    aclocal.m4         autoconfig.h.in

automake      configure.ac       INSTALL
              makefile.am        Makefile.in
                                 COPYING
                                 install-sh
                                 missing
                                 mkinstalldirs
                                 stamp-h.in

libtoolize                       config.guess
                                 config.sub
                                 ltmain.sh
                                 ltconfig

autoconf      configure.ac       configure
              aclocal.m4
              autoconfig.h.in


command         input                      output
-----------------------------------------------------------------
configure       configure                  Makefile
                Makefile.in                config.h
                cofnig.h.in                config.log
                XXXXX.pc.in                config.status
                XXXXX-uninstalled.pc.in    libtool
                                           XXXXX.pc
                                           XXXXX-uninstalled.pc
                                           stamp-h1

make            Makefile

make install    Makefile

make uninstall  Makefile

make clean      Makefile

make distclean  Makefile

make dist       Makefile
相關文章
相關標籤/搜索