1. 程式人生 > >Makefile——常用變數

Makefile——常用變數

make的隱含規則資料庫中用到了很多變數,有些變數沒有定義(例如CFLAGS),有些變數定義了預設值(例如CC)。 寫Makefile時可以重新定義這些變數的值,也可以在預設值的基礎上追加。 以下是一些常用的變數。

AR 靜態庫打包命令的名字,預設值是ar。

ARFLAGS 靜態庫打包命令的選項,預設值是rv。

AS 彙編器的名字,預設值是as。

ASFLAGS 彙編器的選項,沒有定義。

CC C編譯器的名字,預設值是cc。

CFLAGS C編譯器的選項,沒有定義。

CXX C++編譯器的名字,預設值是g++。

CXXFLAGS C++編譯器的選項,沒有定義。

CPP C前處理器的名字,預設值是$(CC) -E。

CPPFLAGS C前處理器的選項,沒有定義。

LD 連結器的名字,預設值是ld。

LDFLAGS 連結器的選項,沒有定義。

TARGET_ARCH 和目標平臺相關的命令列選項,沒有定義。

OUTPUT_OPTION 輸出的命令列選項,預設值是-o [email protected]

LINK.o 把.o檔案連結在一起的命令列,預設值是$(CC) $(LDFLAGS) $(TARGET_ARCH)。

LINK.c 把.c檔案連結在一起的命令列,預設值是$(CC) $(CFLAGS) $(CPPFLAGS) $

(LDFLAGS)$(TARGET_ARCH)。

LINK.cc 把.cc檔案(C++原始檔)連結在一起的命令列,預設值是$(CXX) $(CXXFLAGS)$(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)。

COMPILE.c 編譯.c檔案的命令列,預設值是$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c。

COMPILE.cc 編譯.cc檔案的命令列,預設值是$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c。

RM 刪除命令的名字,預設值是rm -f。