Makefile中的MAKECMDGOALS

make 在执行时会设置一个特殊变量 : "MAKECMDGOALS" ,该变量记录了命令行参数指定的终极目标列表,没有通过参数指定终极目标时此变量为空。该变量仅限于用在特殊场合(比如判断),在 Makefile 中最好不要对它进行重新定义

下面通过一个实例来说明此变量的意思,设一 Makefile 内容如下:

ifeq ("$(MAKECMDGOALS)","are you ok cmdgoals")
who="you"
endif

are:
        @echo "are"
you:
        @echo "you"
ok:
        @echo "ok"
cmdgoals:
        @echo "MAKECMDGOALS: $(MAKECMDGOALS)"
        @echo "who are $(who)"

执行make are you ok cmdgoals,其中are you ok cmdgoals为四个目标文件,运行输出:

[dream@dream]$ make are you ok cmdgoals
are
you
ok
MAKECMDGOALS: are you ok cmdgoals
who are you


在上述命令行中同时指定了 "are" , "you", "ok", 以及 "cmdgoals" 这 4 个目标,这些目标的名字都会传入 MAKECMDGOALS 中。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值