版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、Makefile的規(guī)則在講述這個Makefile之前,還是讓我們先來粗略地看一看Makefile的規(guī)則。target:prerequisitescomm……target也就是一個目標文件,可以是ObjectFile,也可以是執(zhí)行文件。還可以是一個標簽(Label),對于標簽這種特性,在后續(xù)的“偽目標”章節(jié)中會有敘述。prerequisites就是,要生成那個target所需要的文件或是目標。comm也就是make需要執(zhí)行的命令。(任
2、意的Shell命令)這是一個文件的依賴關(guān)系,也就是說,target這一個或多個的目標文件依賴于prerequisites中的文件,其生成規(guī)則定義在comm中。說白一點就是說,prerequisite如果有一個以上的文件比target文件要新的話,comm所定義的命令就會被執(zhí)行。這就是Makefile的規(guī)則。也就是Makefile中最核心的內(nèi)容。說到底,Makefile的東西就是這樣一點,好像我的這篇文檔也該結(jié)束了。呵呵。還不盡然,這是M
3、akefile的主線和核心,但要寫好一個Makefile還不夠,我會以后面一點一點地結(jié)合我的工作經(jīng)驗給你慢慢到來。最后,還值得一提的是,在Makefile中的命令,必須要以[Tab]鍵開始。二、一個示例正如前面所說的,如果一個工程有3個頭文件,和8個C文件,我們?yōu)榱送瓿汕懊嫠龅哪侨齻€規(guī)則,我們的Makefile應(yīng)該是下面的這個樣子的。edit:main.okbd.ocomm.odisplay.o.osearch.ofiles.outi
4、ls.occoeditmain.okbd.ocomm.odisplay.o.osearch.ofiles.outils.omain.o:main.cdefs.hcccmain.ckbd.o:kbd.cdefs.hcomm.hccckbd.ccomm.o:comm.cdefs.hcomm.hccccomm.cdisplay.o:display.cdefs.hbuffer.hcccdisplay.c.o:.cdefs.hbuffer.hcc
5、c.csearch.o:search.cdefs.hbuffer.hcccsearch.cedit:$(objects)ccoedit$(objects)main.o:main.cdefs.hcccmain.ckbd.o:kbd.cdefs.hcomm.hccckbd.ccomm.o:comm.cdefs.hcomm.hccccomm.cdisplay.o:display.cdefs.hbuffer.hcccdisplay.c.o:.c
6、defs.hbuffer.hccc.csearch.o:search.cdefs.hbuffer.hcccsearch.cfiles.o:files.cdefs.hbuffer.hcomm.hcccfiles.cutils.o:utils.cdefs.hcccutils.cclean:rmedit$(objects)五、讓make自動推導(dǎo)GNU的make很強大,它可以自動推導(dǎo)文件以及文件依賴關(guān)系后面的命令,于是我們就沒必要去在每一個[.
7、o]文件后都寫上類似的命令,因為,我們的make會自動識別,并自己推導(dǎo)命令。只要make看到一個[.o]文件,它就會自動的把[.c]文件加在依賴關(guān)系中,如果make找到一個whatever.o,那么whatever.c,就會是whatever.o的依賴文件。并且cccwhatever.c也會被推導(dǎo)出來,于是,我們的makefile再也不用寫得這么復(fù)雜。我們的是新的makefile又出爐了。objects=main.okbd.ocomm.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- makefile
- makefile
- makefile教程
- makefile手冊
- sample.makefile.txt
- sample.makefile.txt
- sample.makefile.txt
- makefile_進階
- sample.makefile.txt
- sample.makefile.txt
- sample.makefile.txt
- sample.makefile.txt
- sample.makefile.txt
- sample.makefile.txt
- linux內(nèi)核的makefile(中文版+英文版)
- 法語音標詳解,發(fā)音規(guī)則詳解
- hdmi詳解
- 游標詳解
- vlan詳解
- 圖案詳解
評論
0/150
提交評論