嵌套执行MAKE $(MAKE) -C subdir

subsystem:
            cd subdir && $(MAKE)

其等价于:

    subsystem:
            $(MAKE) -C subdir


这句是Makefile的规则:这里的$(MAKE)就相当于make,-C 选项的作用是指将当前工作目录转移到你所指定的位置

===============================================================================================


subsystem:

      cd subdir && $(MAKE) MAKEFLAGS=

 

此规则取消了子make执行式的命令行选项(将变量的值赋为空)。

在执行make的同时可以通过命令行来定义一个变量,像上例中的那样;前边已经提到过,这种变量是借助环境“MAKEFLAGS”来传递给多级调用的子make进程的。其实真正的命令行中的变量定义是通过另外一个变量“MAKEOVRRIDES”来记录的,变量“MAKEFLAGS”引用此变量,因而命令行中的变量定义就可以被记录在环境变量“MAKEFLAGS”中被传递下去。当不希望将上层make在命令行中定义的变量传递给子make时,就可以在上层Makefile中把“MAKEOVERRIDES”赋空来实现(MAKEOVERRIDES=)。
--------------------- 
作者:rongwenbin 
来源:CSDN 
原文:https://blog.csdn.net/rongwenbin/article/details/23745059 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值