=內部變數=
$?: 代表已被更新的dependencies的值
$@: 代表targets的值
$<: 代表第一個dependencies的值
$*: 代表targets所指定的檔案,不包含副檔名
$^: 代表所有dependencies的值
使用了$$,讓'$'能傳到shell中
第一個$是為了讓第二個$可以escape掉特殊意義所使用的!
Make命本身可帶有四種參數:
標誌、巨集定義、描述檔案名和目標檔案名。
其標準形式為:
make [flags] [macro definitions] [targets]
Unix系統上flags選項及其含義為:
-f file
指定file文件為描述文件
如果file參數為"-",那麼描述文件為stdin
如果沒有"-f"參數
預設值為當前目錄下名為makefile或者名為Makefile的文件
-i 忽略指令執行返回的出錯資訊
-s 沉默模式,在執行之前不輸出相應的指令行資訊
-r 禁止使用built-in規則 (隱含規則)
-n 非執行模式,輸出所有執行指令,但並不執行
-t 更新目標文件 (touch)
-q 根據目標文件是否已經更新返回零或非零的狀態資訊
-p 輸出所有巨集定義和目標文件描述
-d Debug模式,輸出有關文件和檢測時間的詳細資料
Linux下make標誌位的常用選項與Unix系統中稍有不同,
下面我們只列出了不同部分:
-C dir 在讀取 makefile 之前改變到指定的目錄dir
-I dir 當包含其他 makefile文件時,利用該選項指定搜尋目錄
-h help,顯示所有的make選項
-w 在處理 makefile 之前和之後,都顯示工作目錄(default選取)
[Reference]
忘記出處了...= =...原作者,對不起 Orz
沒有留言:
張貼留言