make工程檔案編寫
阿新 • • 發佈:2018-12-09
make工程管理器時一個自動編譯管理器,命令格式如下:
make [選項] [make工程檔案]
常用選項: -d 顯示除錯資訊 -f 檔案 指定make 檔案 -n 不執行makefile中的命令,只顯示輸出這些命令 -s 執行但不顯示任何資訊 一個Makefile檔案主要含有一系列make規則,每條規則包含以下內容:
目標檔案列表:依賴檔案列表 < TAB >命令列表
Makefile中的變數與shell中變數的定義和使用基本一致,make還可以使用環境變數、自動變數和預定義變數
命令格式 | 含義 |
---|---|
AR | 庫檔案維護程式的名稱,預設值為ar |
AS | 彙編程式的名稱,預設值為as |
CC | c編譯器名稱,預設值為cc |
CPP | c預編譯器名稱,預設值為$(CC)-E |
CXX | c++編譯器名稱,預設值為g++ |
FC | FORTRAN編譯器名稱,預設值為f77 |
RM | 檔案刪除程式名稱,預設值為rm -f |
ARFLAGS | 庫檔案維護程式的選項,無預設值 |
ASFLAGS | 彙編程式的選項,無預設值 |
CFLAGS | C編譯器選項,無預設值 |
CPPFLAGS | c預編譯器的選項,無預設值 |
CXXFLAGS | c++編譯器的選項,無預設值 |
FFLAGS | FRTRAN編譯器選項,無預設值 |
命令格式 | 含義 |
---|---|
$* | 不包含副檔名的目標檔名稱 |
$+ | 包含所有依賴檔案,以空格分開,以出現先後為順序,可能重複 |
$< | 第一個依賴檔案的名稱 |
$? | 所有時間戳比目標檔案晚的依賴檔案,以空格分開 |
[email protected] | 目標檔案的完整名稱 |
$^ | 所有不重複的依賴檔案,以空格分開 |
$% | 如果目標是歸檔成員,該變量表示目標歸檔成員名稱 |
makefile檔案主要包含五部分內容:顯示規則、隱式規則、變數定義、檔案指示和註釋