[整理] 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)所有依赖文件的目录下文件部分
$(?D)比目标新的所有依赖文件的目录部分
$(?F)比目标新的所有依赖文件的目录部分

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

SIA

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值