參考http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile
另:make 預定義變量
4. GNU make 的主要預定義變量
GNU make 有許多預定義的變量,這些變量具有特殊的含義,可在規則中使用。表 1-5 給出了一些主要的
預定義變量,除這些變量外,GNU make 還將所有的環境變量作爲自己的預定義變量。
表 1-5 GNU make 的主要預定義變量
預定義變量 含義
$* 不包含擴展名的目標文件名稱。
$+ 所有的依賴文件,以空格分開,並以出現的先後爲序,可能包含重複的依賴文件。
$< 第一個依賴文件的名稱。
$? 所有的依賴文件,以空格分開,這些依賴文件的修改日期比目標的創建日期晚。
$@ 目標的完整名稱。
$^ 所有的依賴文件,以空格分開,不包含重複的依賴文件。
$% 如果目標是歸檔成員,則該變量表示目標的歸檔成員名稱。例如,如果目標名稱
爲 mytarget.so(p_w_picpath.o),則 $@ 爲 mytarget.so,而 $% 爲 p_w_picpath.o。
AR 歸檔維護程序的名稱,默認值爲 ar。
ARFLAGS 歸檔維護程序的選項。
AS 彙編程序的名稱,默認值爲 as。
ASFLAGS 彙編程序的選項。
CC C 編譯器的名稱,默認值爲 cc。 CFLAGS C 編譯器的選項。
CPP C 預編譯器的名稱,默認值爲 $(CC) -E。
CPPFLAGS C 預編譯的選項。
CXX C++ 編譯器的名稱,默認值爲 g++。
CXXFLAGS C++ 編譯器的選項。
FC FORTRAN 編譯器的名稱,默認值爲 f77。
FFLAGS FORTRAN 編譯器的選項。