1. 程式人生 > >make工程檔案編寫

make工程檔案編寫

make工程管理器時一個自動編譯管理器,命令格式如下:

make [選項] [make工程檔案]

常用選項: -d 顯示除錯資訊 -f 檔案 指定make 檔案 -n 不執行makefile中的命令,只顯示輸出這些命令 -s 執行但不顯示任何資訊 一個Makefile檔案主要含有一系列make規則,每條規則包含以下內容:

目標檔案列表:依賴檔案列表 < TAB >命令列表

Makefile中的變數與shell中變數的定義和使用基本一致,make還可以使用環境變數、自動變數和預定義變數

makefile中常見預定義變數
命令格式 含義
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編譯器選項,無預設值
makefile中常見自動變數
命令格式 含義
$* 不包含副檔名的目標檔名稱
$+ 包含所有依賴檔案,以空格分開,以出現先後為順序,可能重複
$< 第一個依賴檔案的名稱
$? 所有時間戳比目標檔案晚的依賴檔案,以空格分開
[email protected] 目標檔案的完整名稱
$^ 所有不重複的依賴檔案,以空格分開
$% 如果目標是歸檔成員,該變量表示目標歸檔成員名稱

makefile檔案主要包含五部分內容:顯示規則、隱式規則、變數定義、檔案指示和註釋