文件名通配符 |
* |
匹配任意字符 |
*.c : 所有.c結尾的文件 |
|
? |
匹配任意字符 |
包含空 |
常用符 |
\ |
命令換行符 |
|
運算符 |
= |
變量賦值 |
object = fi.o 用於所賦值的對象是常量 |
|
?= |
爲空賦值 |
若變量沒有賦值,則給它賦值,否則不賦值 |
|
:= |
變量賦值 |
object := ${tmp} 用於賦值是個變量 |
|
+= |
追加賦值 |
object += tmp.o 將tmp.o追加到object |
自動化變量 |
$@ |
當前target |
當前目標名 |
|
$< |
第一個依賴名 |
|
|
$^ |
所有依賴名 |
去重target:d1 d2 則 $^=d1 d2 |
|
$+ |
所有依賴名 |
不去重 |
|
$? |
比目標新的依賴名 |
|
|
$* |
目標中%匹配的部分 |
%.o:%.c 。有a.o目標時$*值爲a |
|
$(@D) |
目標的目錄部分 |
目標爲tmp/test,$(@D)值爲tmp |
|
$(@F) |
目標的文件部分 |
目標爲tmp/test,$(@D)值爲test |
|
$(<D) |
依賴文件的目錄部分 |
|
|
$(<F) |
依賴文件的文件部分 |
|
|
$(^D) |
所有依賴文件的目錄部分 |
去重 |
|
$(^F) |
所有依賴文件的文件部分 |
去重 |
|
$(+D) |
所有依賴文件的目錄部分 |
不去重 |
|
$(+F) |
所有依賴文件的文件部分 |
不去重 |
|
$(?D) |
被更新的依賴文件的目錄部分 |
|
|
$(?F) |
被更新的依賴文件的文件部分 |
|
特別字符 |
% |
任意匹配符 |
類似shell的 * |
|
@ |
不顯示執行命令 |
command前加@後 不打印改條命令 |
|
- |
出錯不中斷 |
command前加-,出現執行錯誤不中斷makefile編譯 |