青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

吾嘗終日而思矣 不如須臾之所學(xué)也

御物而行 御風(fēng)而飛
隨筆 - 10, 文章 - 1, 評論 - 9, 引用 - 0
數(shù)據(jù)加載中……

Makefile 解析

一個工程中的源文件可能很多的情況下,按其類型、功能、模塊分別放到若干個目錄中,makefile定義了一系列的規(guī)則,用以指定那些需要先編譯,那些需要后編譯,那些需要重新編譯,和一些更復(fù)雜的操作。,makefile的好處就是自動化編譯,一點寫好,只需要make命令,整個工程就會自動編譯,提高了項目的管理能力和軟件的開發(fā)效率。

Makefile 文件解讀

 

edit : main.o kbd.o command.o display.o \ 

insert.o search.o files.o utils.o 

cc -o edit main.o kbd.o command.o display.o \ 

insert.o search.o files.o utils.o 

 

main.o : main.c defs.h 

cc -c main.c 

kbd.o : kbd.c defs.h command.h 

cc -c kbd.c 

command.o : command.c defs.h command.h 

cc -c command.c 

display.o : display.c defs.h buffer.h 

cc -c display.c 

insert.o : insert.c defs.h buffer.h 

cc -c insert.c 

search.o : search.c defs.h buffer.h 

cc -c search.c 

files.o : files.c defs.h buffer.h command.h 

cc -c files.c 

utils.o : utils.c defs.h 

cc -c utils.c 

clean : 

rm edit main.o kbd.o command.o display.o \ 

insert.o search.o files.o utils.o 

 

反斜杠(\)是換行的意思。上述makefile文件可以命名為makefileMakefile,如果在目錄中輸入make,就可以生成edit可執(zhí)行文件。如果想要刪除可執(zhí)行文件或者是中間目標(biāo)文件直接make clean就行了。

依賴關(guān)系:

有上述例子可以看出,目標(biāo)文件包含兩種:執(zhí)行文件(edit)和中間目標(biāo)文件(*.obj),依賴文件(prerequisites)就是冒號后面的那些.c.h文件。每一個.o 文件都有一組依賴文件,這些.o的文件又是執(zhí)行文件edit的依賴文件。其實依賴關(guān)系就是說明了目標(biāo)文件是有那些文件申城的,換言之就是目標(biāo)文件是哪些文件更新的。

定義好依賴關(guān)系后,后面的一行就定義了如何生成目標(biāo)文件的操作系統(tǒng)命令,一定要以tab鍵開頭。記住make并不管命令式怎么工作的,它只關(guān)心定義的命令。Make會比較目標(biāo)文件和依賴文件的修改日期,如果依賴文件的日期要比目標(biāo)文件的日期更新,或者是目標(biāo)文件不存在的話,make就會執(zhí)行后續(xù)定義的命令。

 

Make是如何工作的

1.       查找Makefilemakefile文件

2.       查找第一個目標(biāo)文件,并將這個文件作為最終的目標(biāo)文件

3.       查找目標(biāo)文件是否存在,或者是當(dāng)前目標(biāo)文件依賴的.o 文件的文件修改時間要比當(dāng)前目標(biāo)文件新,則執(zhí)行后面定義的命令來生成edit這個文件

4.       如果edit依賴的.o文件也存在,那么make會在當(dāng)前文件中查找目標(biāo)文件為.o文件的依賴性,如果找到則根據(jù)哪一個規(guī)則生成.o文件。

5.       根據(jù)c文件和.h文件,make生成.o文件,然后生成最終目標(biāo)文件。

 

Make會一層已成的查找文件的依賴關(guān)系,知道最終編譯出第一個目標(biāo)文件。在查找過程中,如果出現(xiàn)錯誤,比如被依賴的文件找不到,那么make就會直接退出,并報錯,但是對于所定義的命令的錯誤,或者是編譯不成功,make會置之不理。但是當(dāng)查找到一個文件的依賴關(guān)系的時候,并且執(zhí)行依賴關(guān)系之后命令,冒號后面的依賴文件如果還是不存在,那么make就會退出。

由上可知,想clean這種沒有被第一個目標(biāo)文件直接或間接關(guān)聯(lián),那么他后面定義的命令將不會自動執(zhí)行。如果想顯式執(zhí)行要求make執(zhí)行clean之后的命令,“輸入make clean”就行了,用以清除所有的目標(biāo)文件,便于重新編譯。

1.       另外makefile中也可以添加一些宏定義(變量)

2.       gnu make可以實現(xiàn)自動推倒

posted on 2011-11-17 20:04 Roger 閱讀(7977) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩视频免费| 中文网丁香综合网| 国产美女精品一区二区三区| 美日韩丰满少妇在线观看| 欧美日韩免费区域视频在线观看| 久久婷婷蜜乳一本欲蜜臀| 欧美午夜片在线观看| 亚洲丶国产丶欧美一区二区三区| 国产日韩欧美精品一区| 亚洲美女视频网| 亚洲精品女人| 久久久国产成人精品| 欧美一站二站| 国产精品女主播一区二区三区| 91久久在线| 亚洲乱码国产乱码精品精天堂 | 日韩香蕉视频| 亚洲精品视频在线观看网站| 久久综合九色综合欧美就去吻| 久久久久久九九九九| 欧美日韩在线另类| 欧美大胆成人| 国产专区综合网| 亚洲一区二区三区免费视频| 日韩视频一区二区三区在线播放| 久久久免费av| 久久激情一区| 欧美国产精品人人做人人爱| 欧美激情一区二区在线 | 久久黄色网页| 欧美视频精品在线| 亚洲国产日韩一区| 亚洲国产精品一区二区久 | 一本色道精品久久一区二区三区 | 亚洲成色最大综合在线| 精品电影在线观看| 欧美一区三区二区在线观看| 欧美一进一出视频| 国产精品入口尤物| 亚洲综合三区| 欧美一区激情| 国产一区二区三区不卡在线观看| 亚洲一级网站| 欧美在线日韩精品| 国产精品一区免费观看| 亚洲一区二区三区四区视频| 亚洲午夜激情| 欧美性事在线| 中国亚洲黄色| 久久视频一区二区| 亚洲成人影音| 男人的天堂亚洲在线| 亚洲国产欧美一区| 一区二区三区欧美视频| 欧美日韩一区二区视频在线| 这里只有精品丝袜| 午夜一级久久| 国产精品一区二区你懂的| 亚洲午夜激情在线| 久久久久久91香蕉国产| 一区免费观看视频| 欧美成人中文| 中文久久精品| 久久精品成人一区二区三区蜜臀| 国内精品久久久久久影视8| 久久精品中文字幕免费mv| 亚洲成人直播| 一区二区欧美在线| 国产欧美精品va在线观看| 欧美在线www| 亚洲另类春色国产| 欧美在线一区二区三区| 亚洲国产欧美久久| 国产精品福利av| 久久国产99| 亚洲精品久久久久久久久久久久久| 亚洲一区视频| 亚洲大片在线| 欧美午夜精品久久久久免费视| 欧美中文在线视频| 91久久嫩草影院一区二区| 欧美一区久久| 日韩亚洲不卡在线| 国产自产v一区二区三区c| 欧美日韩中文在线| 久久亚洲视频| 亚洲图片欧美午夜| 欧美激情精品久久久久久蜜臀 | 亚洲一区二区三区涩| 激情自拍一区| 国产精品扒开腿做爽爽爽视频| 久久精品五月| 亚洲一区二区3| 欧美激情精品久久久久久大尺度| 香蕉久久久久久久av网站| 91久久久久久久久| 国产一区二区三区四区老人| 欧美日韩国产精品专区| 久久久欧美精品| 亚洲欧美在线aaa| 亚洲国产日本| 欧美第一黄色网| 久久成人精品无人区| 亚洲另类一区二区| 黄色日韩网站| 国产综合18久久久久久| 欧美性猛交99久久久久99按摩| 免费成人av在线看| 久久精品国产99国产精品| 亚洲女同精品视频| 一本一本久久| 日韩视频在线一区| 91久久精品一区二区三区| 美女久久网站| 久久九九精品| 欧美在线视频a| 午夜在线视频一区二区区别| 亚洲色诱最新| 一片黄亚洲嫩模| 99视频一区| 一区二区日韩精品| 亚洲欧美制服中文字幕| 久久成人国产精品| 久久精品国产久精国产一老狼| 亚洲欧美国产三级| 午夜一区在线| 翔田千里一区二区| 亚洲欧美成人综合| 午夜宅男欧美| 久久精品在线| 久久一二三国产| 久久综合五月天婷婷伊人| 久久夜色精品国产亚洲aⅴ | 理论片一区二区在线| 久久精品最新地址| 久久夜色精品一区| 久久九九久久九九| 亚洲第一页中文字幕| 亚洲欧洲在线播放| av成人免费观看| 亚洲一区二区三区四区在线观看 | 最新亚洲一区| 99日韩精品| 亚洲图片在线观看| 久久精品91久久香蕉加勒比 | 91久久亚洲| 99视频日韩| 香蕉尹人综合在线观看| 久久精品亚洲一区二区| 欧美不卡在线视频| 欧美午夜不卡视频| 国产三区精品| 最新成人在线| 亚洲综合欧美日韩| 久久精品日产第一区二区三区| 免费成人高清在线视频| 亚洲黄色三级| 性感少妇一区| 欧美二区在线| 国产精品天天看| 影音先锋日韩精品| 99国产精品国产精品久久| 亚洲综合视频一区| 亚洲免费视频网站| 欧美肥婆在线| 亚洲欧美国产精品va在线观看| 久久精彩视频| 欧美三区在线视频| 国模精品娜娜一二三区| 99精品视频免费观看| 久久福利精品| 亚洲美女视频| 久热国产精品| 国产精品中文在线| 亚洲精品日韩久久| 久久久精品国产免费观看同学| 亚洲国产日韩在线一区模特| 午夜在线视频观看日韩17c| 欧美国产大片| 一区二区亚洲欧洲国产日韩| 99亚洲精品| 麻豆精品视频在线观看视频| 99精品国产热久久91蜜凸| 亚洲一区二区精品视频| 欧美高清在线一区二区| 狠狠久久婷婷| 亚洲综合精品四区| 亚洲精品日韩一| 午夜精品视频| 国产精品日韩精品欧美精品| 一区二区三区国产| 久久婷婷影院| 亚洲人体大胆视频| 欧美精品色网| 亚洲欧洲一区二区三区| 久久综合九色99| 欧美在线视频免费| 国产亚洲欧美激情| 欧美一区二区大片| 亚洲一卡久久|