make的一些变量(读zephyr Makefile)

CURDIR

表示调用make的当前目录.

MAKECMDGOALS

命令行上指定的目标列表,若没有指定,则为空.

override directive

如果一个变量在命令行指定了,那么在Makefile中的指定就会被忽略.如果在命令行指定后,你还要在Makefile中指定,可以用override指令指定.

$(realpath names…)

将names变成绝对路径返回

$(subst from, to, text)

text中,每一个from替换为to

$(origin variable)

该函数告诉该变量从哪里来

  • undefined 表示该变量没有被定义
  • default 表示该变量有默认的定义
  • environment 表示是从启动make的环境来的
  • environment override 表示从启动make的环境来的, 再Makefile文件中被override
  • file 表示Makefile中定义的
  • command line 表示在命令行中定义的
  • override 表示在Makefile中使用override定义的
  • automatic 表示定义给recipe文件中执行的每条规则的自动变量

$(call variable, param, param, …)

你可以写一个复杂的表达式作为一个变量的值,然后用call函数展开.

例如:
zephyrmake = @+$(MAKE) -C $(ZEPHYR_BASE) O=$(1) CFLAGS=$(CFLAGS) PROJECT=$(PROJECT_BASE) SOURCE_DIR=$(SOURCE_DIR) $(2)

call函数中param对应与之对应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值