- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
依赖条件(prerequisite)
2007/04/23 GNU Make Speaker: Po-Chou Chen Adviser: Quincy Wu Date:2007/04/30 Outline Introduction Makefile format 目標(target) 依賴條件(prerequisite) 命令(command) 變數(variables) 內隱規則(Implicit Rules) 假工作目標(phony target) 自動變數 控制語法 Reference Introduction make是一個方便編譯大量source code的工具 可以將「原始碼轉換成可執行檔」的工作自動化,相當於shell script Makefile format target1 target2:prerequisite1 prerequisite2 tabcommand tabcommand 開頭使用 “#” ,代表註解,會被make所忽略 如果命令或條件太長,則使用 “\”來接續太長的命令或條件 make因為沒有指定目標,所以會遵守第一個規則(稱為default goal),而通常叫做all 目標(target) make根據指定的目標來做相關的動作。 目標可以是檔名或是一個稱為phony target的動作識別符號。 GNU建議的phony target all:內定的編譯動作 install:安裝binary檔的動作 clean:清除obj檔的動作 dist:產生configure的動作 distclean:清除configure所產生的檔 依賴條件(prerequisite) prerequisite中若有一個以上的文件比target新(被修改過),command就會被執行。 命令(command) 每道命令必須以tab開頭 命令以@開頭,則不顯示在螢幕上 每一行的命令都是喚起一個sub shell來執行命令,該行命令做完後, 這個sub shell就沒有了,所以更改過的變化不能傳給下一行命令。如果要把執行結果傳給下一行則必須寫在同一行裡。(see “command”) Example-1 see “sample0” and “sample1” 變數(variables) 大小寫不同。 不要用字母數字底線以外的字元。 使用變數用$(VAR)或者${VAR}都可以。 內隱規則(Implicit Rules) 對於編譯程式時每個人的共同習慣,例如把foo.c 編成foo.o,GNU make有一些內定規則來編譯;所以即使不寫,make也可根據內定規則做編譯。 因此不用對每個不同的.o寫不同的規則,例如: foo.o:foo.c gcc -c -o foo.o foo.c foo1.o:foo1.c gcc -c -o foo1.o foo1.c .... see “var1” 假工作目標(phony target) make無法區分檔案形式的工作目標以及假工作目標,如果工作目錄中剛好存在與工作目標時會出現”make: `xxx` is up to date.” 使其目標總是未更新,因此總是會被執行 ex: “.PHONY: clean” 自動變數 $@ 工作目標的檔名 $ 第一個必要條件的檔名 $* 工作目標的主檔名(X.c) 控制語法 GNU make 裡面可以有條件判斷,來決定要不要設變數或make,主要用來處理一些Makefile內的變數與環境,例如:ifeq、ifneq、ifdef、ifndef。 Reference GNU Make 專案開發工具 .tw/product_unix.php?id=a164 * * * * *
您可能关注的文档
- Z5402运输巷掘进作业规程.doc
- 计划生育调查问卷.doc
- 语文三年级下学期期末测试题.doc
- 北师大版五年级数学找最小公倍数.ppt
- 心理健康教育——《自立自强》.ppt
- 5.2.1小数除以整数例1.doc
- 人教版必修一2.1导学案.doc
- 冀教版历史八上二十课血肉筑长城.ppt
- 走进函数公式的神奇世界-函数基础知识.doc
- (SPC基础知识培训教材).ppt
- 2025至2030年中国LCD温控器行业发展研究报告.docx
- 2025至2030年中国偏光分束镜行业发展研究报告.docx
- 2025至2030年中国微电脑电子考勤机市场分析及竞争策略研究报告.docx
- 2025至2030年中国城市路灯智能监控管理系统行业发展研究报告.docx
- 2025至2030年中国刺破试验夹具市场分析及竞争策略研究报告.docx
- 2025年大学试题(法学)-婚姻家庭法考试近5年真题荟萃附答案.docx
- 2025至2030年中国保护壳压印字体行业投资前景及策略咨询报告.docx
- 2025至2030年中国不锈钢滑撑铰链行业发展研究报告.docx
- 2025至2030年中国全自动电锁行业发展研究报告.docx
- 行政管理经济法实用考题推荐.docx
最近下载
- 铁路局招聘考试《铁路基础知识》100题及答案.docx
- 《QSY1237-2009-工艺和设备变更管理》.pdf
- 期末复习专项训练【实验题】(试题)小学科学五年级上册 教科版.docx VIP
- 农旅融合:推进乡村振兴,实现双赢.docx VIP
- 技术标书技术方案(完整资料).pdf VIP
- 13G311-1:混凝土结构加固构造.pdf VIP
- DB21_T 1565-2015预应力混凝土管桩基础技术规程.pdf
- 夏季防暑降温施工方案_夏季防暑降温施工方案夏季防暑降温工作方案.pdf VIP
- 危重症患者口渴的护理PPT.pptx
- 八年级人教版物理下《12.2滑轮》一等奖优秀教学设计 .pdf VIP
文档评论(0)