GNU Make自動變數一覽

helloxchen發表於2010-11-08

[整理] GNU Make自動變數一覽

GNU 自動變數一覽表

名稱 含義
$@規則目標的檔名.如果目標是檔案檔案的一個成員,"$@"就是檔案檔案的名稱
$%當目標是檔案檔案的一個成員時,"$%"是該成員的名稱.否則"$%"為空
$<第一個依賴檔案的名稱
$?以空格隔開的比目標新的所有依賴檔名.若依賴檔案是檔案檔案的成員,只使用成員的名稱
$^以空格隔開的所有依賴檔名.若依賴檔案是檔案檔案的成員,只使用成員名稱.無論一個依賴檔案出現過多少次,"$^"值中只包含其名稱的一個複製
$+與"$^"相似,但多次列出的依賴檔案按照它們在構造檔案中出現的順序複製.這對於連結命令中以特定順序重複出現的庫檔名有作用
$*隱含規則匹配的詞幹.若目標為"dir/a.foo.b"且目標模式為"a.%.b",則詞幹為"dir/foo".對靜態模式規則,詞幹是檔名中與目標模式中"%"匹配的部分.應避免在隱含規則或靜態模式規則之外使用"$*"
$(@D)刪除結尾斜槓的目標檔名的目錄部分.若"$@"的值為"dir/foo.o",則"$(@D)"為"dir".若"$@"不包含斜槓,則"$(@D)"為"."
$(@F)目標檔名中目錄下的檔案部分.如果"$@"的值為"dir/foo.o",那麼"$(@F)"為"foo.o".它等同於"$(notdir $@)"
$(*D)詞幹中的目錄部分,例如上例中的"dir"
$(*F)詞幹中的目錄下檔案部分,例如上例中的"foo"
$(%D)目標檔案檔案成員的目錄部分.僅對形為"archive(member)"的檔案檔案成員目標有意義,且僅在member包含目錄名時有用
$(%F)目標檔案檔案成員中的目錄下檔案部分
$(第一個依賴檔案的目錄部分
$(第一個依賴檔案的目錄下檔案部分
$(^D)所有依賴檔案的目錄部分
$(^F)所有依賴檔案的目錄下檔案部分
$(?D)比目標新的所有依賴檔案的目錄部分
$(?F)比目標新的所有依賴檔案的目錄部分

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24790158/viewspace-1041130/,如需轉載,請註明出處,否則將追究法律責任。

相關文章