1.configure命令python
這一步通常用來生成 Makefile,爲下一步的編譯作準備,你能夠經過在 configure 後加上參數來對安裝進行控制,好比代碼:./configure –prefix=/usr 意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)。同時一些軟件的配置文件你能夠經過指定 –sys-config= 參數進行設定。有一些軟件還能夠加上 –with、–enable、–without、–disable 等等參數對編譯加以控制,你能夠經過容許 ./configure –help 查看詳細的說明幫助shell
2.make工具
make 是用來編譯的,它從Makefile中讀取指令,而後編譯。這一步就是編譯,大多數的源代碼包都通過這一步進行編譯(固然有些perl或python編寫的軟件須要調用perl或python來進行編譯)spa
makefile定義了一系列的規則來指定,哪些文件須要先編譯,哪些文件須要後編譯,哪些文件須要從新編譯,甚至於進行更復雜的功能操做調試
makefile帶來的好處就是——「自動化編譯」,一旦寫好,只須要一個make命令,整個工程徹底自動編譯,極大的提升了軟件開發的效率。make是一個命令工具,是一個解釋makefile中指令的命令工具,通常來講,大多數的IDE都有這個命令blog
根據Makefile文件編譯源代碼、鏈接、生成目標文件、可執行文件。資源
可能遇到的錯誤:make *** 沒有指明目標而且找不到 makefile。問題很明瞭,沒有Makefile,怎麼辦,原來是要先./configure 一下,再make。開發
3.make cleanget
僅僅是清除以前編譯的可執行文件及配置文件(清除上次的make命令所產生的object文件(後綴爲「.o」的文件)及可執行文件)it
注意:
在make的時候,會從新生成objects, 也就說新的object覆蓋就得objects
make clean 是刪除舊的objects。
因此應該是make已經含有了make clean的功能。
可是實際用的時候,好比屢次編譯調試運行, 有時候必須make clean一下,直接make,上次留下來的錯誤彷佛不能清乾淨。
4.make install
make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。
將編譯成功的可執行文件安裝到系統目錄中,通常爲/usr/local/bin目錄。
、擴展說明
Linux的用戶可能知道,在Linux下安裝一個應用程序時,通常先運行腳本configure,而後用make來編譯源程序,在運行make install,最後運行make clean刪除一些臨時文件。使用上述三個自動工具,就能夠生成configure腳本。運行configure腳本,就能夠生成Makefile文件,而後就能夠運行make、make install和make clean。
configure是一個shell腳本,它能夠自動設定源程序以符合各類不一樣平臺上Unix系統的特性,而且根據系統叄數及環境產生合適的Makefile文件或是C的頭文件(header file),讓源程序能夠很方便地在這些不一樣的平臺上被編譯鏈接。
這時,就可運行configure腳本了,運行configure腳本,就可產生出符合GNU規範的Makefile文件了: $ ./configure
到此時,就能夠運行make進行編譯,再運行make install進行安裝了,最後運行make clean刪除臨時文件。