网站大量收购独家精品文档,联系QQ:2885784924

依赖条件(prerequisite).ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 * * * * *

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档