首先先看一下什麼是makefile
makefile定義了一系列的規則來指定,哪些文件需要先編譯,哪些文件需要後編譯,哪些文件需要重新編譯,甚至於進行更復雜的功能操作,因為 makefile就像一個Shell腳本一樣,其中也可以執行操作系統的命令。
makefile帶來的好處就是--“自動化編譯”,一旦寫好,只需要一個make命令,整個工程完全自動編譯,極大的提高了軟件開發的效率。make是一個命令工具,是一個解釋makefile中指令的命令工具,一般來說,大多數的IDE都有這個命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make.可見,makefile都成為了一種在工程方面的編譯方法。
make
根據Makefile文件編譯源代碼、連接、生成目標文件、可執行文件。
make clean
清除上次的make命令所產生的object文件(後綴為“.o”的文件)及可執行文件。
make install
將編譯成功的可執行文件安裝到系統目錄中,一般為/usr/local/bin目錄。
make dist
產生發布軟件包文件(即distribution package)。這個命令將會將可執行文件及相關文件打包成一個tar.gz壓縮的文件用來作為發布軟件的軟件包。
它會在當前目錄下生成一個名字類似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我們在configure.in中定義的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。
make distcheck
生成發布軟件包並對其進行測試檢查,以確定發布包的正確性。這個操作將自動把壓縮包文件解開,然後執行configure命令,並且執行make,來確認編譯不出現錯誤,最後提示你軟件包已經准備好,可以發布了。
make distclean
類似make clean,但同時也將configure生成的文件全部刪除掉,包括Makefile文件。