make的自动变量和预定义变量
生活随笔
收集整理的這篇文章主要介紹了
make的自动变量和预定义变量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?make的自動變量
?
$@ 規(guī)則目標(biāo)的文件名.如果目標(biāo)是檔案文件的一個成員,"$@"就是檔案文件的名稱
$< 第一個依賴文件的名稱
$? 以空格隔開的比目標(biāo)新的所有依賴文件名.若依賴文件是檔案文件的成員,只使用成員的名稱
$^ 以空格隔開的所有依賴文件名.若依賴文件是檔案文件的成員,只使用成員名稱.無論一個依賴文件出現(xiàn)過多少次,"$^"值中只包含其名稱的一個拷貝
$+ 與"$^"相似,但多次列出的依賴文件按照它們在構(gòu)造文件中出現(xiàn)的順序復(fù)制.這對于鏈接命令中以特定順序重復(fù)出現(xiàn)的庫文件名有作用
$* 隱含規(guī)則匹配的詞干.若目標(biāo)為"dir/a.foo.b"且目標(biāo)模式為"a.%.b",則詞干為"dir/foo".對靜態(tài)模式規(guī)則,詞干是文件名中與目標(biāo)模式中"%"匹配的部分.應(yīng)避免在隱含規(guī)則或靜態(tài)模式規(guī)則之外使用"$*"
$(@D) 刪除結(jié)尾斜杠的目標(biāo)文件名的目錄部分.若"$@"的值為"dir/foo.o",則"$(@D)"為"dir".若"$@"不包含斜杠,則"$(@D)"為"."
$(@F) 目標(biāo)文件名中目錄下的文件部分.如果"$@"的值為"dir/foo.o",那么"$(@F)"為"foo.o".它等同于"$(notdir $@)"
$(*D) 詞干中的目錄部分,例如上例中的"dir"
$(*F) 詞干中的目錄下文件部分,例如上例中的"foo"
$(%D) 目標(biāo)檔案文件成員的目錄部分.僅對形為"archive(member)"的檔案文件成員目標(biāo)有意義,且僅在member包含目錄名時有用
$(%F) 目標(biāo)檔案文件成員中的目錄下文件部分
$(<D) 第一個依賴文件的目錄部分
$(<F) 第一個依賴文件的目錄下文件部分
$(^D) 所有依賴文件的目錄部分
$(^F) 所有依賴文件的目錄下文件部分
$(?D) 比目標(biāo)新的所有依賴文件的目錄部分
$(?F) 比目標(biāo)新的所有依賴文件的目錄部分
?
?
make的預(yù)定義變量
?
AR 歸檔維護程序的名稱,默認(rèn)值為 ar。
ARFLAGS 歸檔維護程序的選項。
AS 匯編程序的名稱,默認(rèn)值為 as。
ASFLAGS 匯編程序的選項。
CC C編譯器的名稱,默認(rèn)值為 cc。
CCFLAGS C編譯器的選項。
CPP C預(yù)編譯器的名稱,默認(rèn)值為 $(CC) -E。
CPPFLAGS C預(yù)編譯的選項。
CXX C++編譯器的名稱,默認(rèn)值為 g++。
CXXFLAGS C++編譯器的選項。
FC FORTRAN編譯器的名稱,默認(rèn)值為 f77。
FFLAGS FORTRAN編譯器的選項。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/cxz2009/archive/2010/11/04/1869033.html
總結(jié)
以上是生活随笔為你收集整理的make的自动变量和预定义变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET在IIS7中上下文中不可用
- 下一篇: (19) 转载: 寻找丑数