1、退出碼
0 ok
1 錯誤
2 使用了-q 選項 且目標不需要更新 返回2
2、選項
-f --file
指定makefile腳本
-n --just-print --dry -run -- recon
僅僅將規則和連帶規則下的命令打印出來,不管目標是否需要更新
-t --touch
更新目標文件的時間,假裝編譯了
-q --question
找目標,目標不存在就輸出錯誤
-W<file> --what-if=<file> --assue-new<file> --new-file<file>
需要指定一個文件make會執行依賴於這個文件的命令 常常搭配-n使用
-m 或 -b 是忽略和其他版本的兼容性
-B --always-make
強制全部編譯
-C --directory=<dir>
指定讀取makefile的目錄 最后一個起作用
-r --no-builtin-rules
取消內置隱含規則
-R --no-builtin-variables
取消用戶定義對隱含規則的作用
常見內置命令變量(一般都是大寫)
AR: 函數庫打包
AS : 匯編
CC: C編譯
CXX:C++編譯
CPP:預處理 -E選項
RM :刪除默認是 rm -f
3、常見內置標志參數變量,對應上面
ARFLAGS
ASFLAGS
CFLAGS
CXXFLAGS
CPPFLAGS
RMFLAGS