Linux 命令詳解 ./configure、make曲饱、make install 命令(轉(zhuǎn)載)

轉(zhuǎn)載:Linux 命令詳解(三)./configure悠抹、make、make install 命令

這些都是典型的使用GNU的AUTOCONFAUTOMAKE產(chǎn)生的程序的安裝步驟

一渔工、基本信息

1锌钮、./configure 是用來檢測你的安裝平臺的目標特征的。比如它會檢測你是不是有CC或GCC引矩,并不是需要CC或GCC梁丘,它是個shell腳本。

2旺韭、make 是用來編譯的氛谜,它從Makefile中讀取指令,然后編譯区端。

3值漫、make install是用來安裝的,它也從Makefile中讀取指令织盼,安裝到指定的位置杨何。

注意:AUTOMAKE和AUTOCONF是非常有用的用來發(fā)布C程序的東西。

二沥邻、詳細解釋

1危虱、configure命令

這一步一般用來生成 Makefile,為下一步的編譯做準備唐全,你可以通過在 configure 后加上參數(shù)來對安裝進行控制埃跷,比如代碼:./configure –prefix=/usr 意思是將該軟件安裝在 /usr 下面,執(zhí)行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)邮利。同時一些軟件的配置文件你可以通過指定 –sys-config= 參數(shù)進行設定弥雹。有一些軟件還可以加上 –with、–enable延届、–without剪勿、–disable 等等參數(shù)對編譯加以控制,你可以通過允許 ./configure –help 察看詳細的說明幫助方庭。

image

2窗宦、make

這一步就是編譯赦颇,大多數(shù)的源代碼包都經(jīng)過這一步進行編譯(當然有些perl或python編寫的軟件需要調(diào)用perl或python來進行編譯)。如果 在 make 過程中出現(xiàn) error 赴涵,你就要記下錯誤代碼(注意不僅僅是最后一行),然后你可以向開發(fā)者提交 bugreport(一般在 INSTALL 里有提交地址)订讼,或者你的系統(tǒng)少了一些依賴庫等髓窜,這些需要自己仔細研究錯誤代碼。

可能遇到的錯誤:make *** 沒有指明目標并且找不到 makefile欺殿。 停止寄纵。問題很明了,沒有Makefile脖苏,怎么辦程拭,原來是要先./configure 一下,再make棍潘。

3恃鞋、make insatll

這條命令來進行安裝(當然有些軟件需要先運行 make check 或 make test 來進行一些測試),這一步一般需要你有 root 權(quán)限(因為要向系統(tǒng)寫入文件)亦歉。

三恤浪、擴展說明

Linux的用戶可能知道,在Linux下安裝一個應用程序時肴楷,一般先運行腳本configure水由,然后用make來編譯源程序,在運行make install赛蔫,最后運行make clean刪除一些臨時文件砂客。使用上述三個自動工具,就可以生成configure腳本呵恢。運行configure腳本鞠值,就可以生成Makefile文件,然后就可以運行make瑰剃、make install和make clean齿诉。

configure是一個shell腳本,它可以自動設定源程序以符合各種不同平臺上Unix系統(tǒng)的特性晌姚,并且根據(jù)系統(tǒng)叁數(shù)及環(huán)境產(chǎn)生合適的Makefile文件或是C的頭文件(header file)粤剧,讓源程序可以很方便地在這些不同的平臺上被編譯連接。

這時挥唠,就可運行configure腳本了抵恋,運行configure腳本,就可產(chǎn)生出符合GNU規(guī)范的Makefile文件了: $ ./configure

到此時宝磨,就可以運行make進行編譯弧关,在運行make install進行安裝了盅安,最后運行make clean刪除臨時文件

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">make make install (注:運行這個要有足夠的權(quán)限)
$ make clean</pre>

利用configure所產(chǎn)生的Makefile文件有幾個預設的目標可供使用世囊,其中幾個重要的簡述如下:

make all:產(chǎn)生我們設定的目標别瞭,即此范例中的可執(zhí)行文件。只打make也可以株憾,此時會開始編譯原始碼蝙寨,然后連結(jié),并且產(chǎn)生可執(zhí)行文件嗤瞎。

make clean:清除編譯產(chǎn)生的可執(zhí)行文件及目標文件(object file墙歪,*.o)。

make distclean:除了清除可執(zhí)行文件和目標文件外贝奇,把configure所產(chǎn)生的Makefile也清除掉虹菲。

make install:將程序安裝至系統(tǒng)中。如果原始碼編譯無誤掉瞳,且執(zhí)行結(jié)果正確毕源,便可以把程序安裝至系統(tǒng)預設的可執(zhí)行文件存放路徑。如果用bin_PROGRAMS宏的話菠赚,程序會被安裝至/usr/local/bin這個目錄脑豹。

make dist:將程序和相關的檔案包裝成一個壓縮文件以供發(fā)布。執(zhí)行完在目錄下會產(chǎn)生一個以PACKAGE-VERSION.tar.gz為名稱的文件衡查。 PACKAGEVERSION這兩個變數(shù)是根據(jù)configure.in文件中AM_INIT_AUTOMAKE(PACKAGE瘩欺,VERSION)的定義。在此范例中會產(chǎn)生test-1.0.tar.gz的檔案拌牲。

make distcheck:和make dist類似俱饿,但是加入檢查包裝后的壓縮文件是否正常。這個目標除了把程序和相關文件包裝成tar.gz文件外塌忽,還會自動把這個壓縮文件解開拍埠,執(zhí)行 configure,并且進行make all 的動作土居,確認編譯無誤后枣购,會顯示這個tar.gz文件可供發(fā)布了。這個檢查非常有用擦耀,檢查過關的包棉圈,基本上可以給任何一個具備GNU開發(fā)環(huán)境-的人去重新編譯。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眷蜓,一起剝皮案震驚了整個濱河市分瘾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吁系,老刑警劉巖德召,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件白魂,死亡現(xiàn)場離奇詭異,居然都是意外死亡上岗,警方通過查閱死者的電腦和手機福荸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來液茎,“玉大人逞姿,你說我怎么就攤上這事±Φ龋” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵续室,是天一觀的道長栋烤。 經(jīng)常有香客問我,道長挺狰,這世上最難降的妖魔是什么明郭? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮丰泊,結(jié)果婚禮上薯定,老公的妹妹穿的比我還像新娘。我一直安慰自己瞳购,他們只是感情好话侄,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著学赛,像睡著了一般年堆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盏浇,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天变丧,我揣著相機與錄音,去河邊找鬼绢掰。 笑死痒蓬,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的滴劲。 我是一名探鬼主播攻晒,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哑芹!你這毒婦竟也來了炎辨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤聪姿,失蹤者是張志新(化名)和其女友劉穎碴萧,沒想到半個月后乙嘀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡破喻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年虎谢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曹质。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡婴噩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出羽德,到底是詐尸還是另有隱情几莽,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布宅静,位于F島的核電站章蚣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏姨夹。R本人自食惡果不足惜纤垂,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磷账。 院中可真熱鬧峭沦,春花似錦、人聲如沸逃糟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽履磨。三九已至蛉抓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間剃诅,已是汗流浹背巷送。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留矛辕,地道東北人笑跛。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像聊品,于是被迫代替她去往敵國和親飞蹂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容