Makefile 中書寫shell命令時可以加2種前綴 @ 和 -, 或者不用前綴.
3種格式的shell命令區別如下:
- 不用前綴 :: 輸出執行的命令以及命令執行的結果, 出錯的話停止執行
- 前綴 @ :: 只輸出命令執行的結果, 出錯的話停止執行;命令不會被make顯示出來
- 前綴 - :: 命令執行有錯的話, 忽略錯誤, 繼續執行
例:命令前面添加-,表示如果此處有問題即此處目錄或文件不存在是,makefile會忽略此錯誤繼續往下執行
反之:如果文件不存在,以下兩種都會終止執行
---------------------------------------------------------------------------------------------------------------------------------------
另一種方法則是判斷此文件或路徑是否存在,存在再做其他動作
$(wildcard $FILE) 它被展開為已經存在的、使用空格分開的、匹配此模式的所有文件列表。如果不存在任何符合此模式的文件,函數會忽略模式字符並返回空。