Kbuid实现分析阅读笔记

1.MAKEFLAGS变量是make的内置变量。主要目的是从主make向子make传递选项。如果MAKEFLAGS += -rR则会屏蔽隐含规则和隐含变量。

2.Makefile中引用shell中的环境变量和引用文件中定义的变量的方法是一样的都是$(VAR)的方式。bash中引用变量的方法是$VAR或者${VAR},同时{}也表示大括号扩展,如echo b{ed,olt,ar},会打印echo bed bolt bar。{列表项,列表项,...}大括号扩展中的列表项用","号分割,并要注意","后不能有空格。bash中的()表示命令替换 $(command)用法和`command`相同。

3.tee命令式从标准输入读数据并显示在标准输出。

4.如何解释规则“%:: FORCE”?

此为双冒号规则。规则中的%匹配任何文件,当此文件没有生成规则时此规则就会被调用。用法参考

5.Makefile规则的命令中echo $(PATH)和echo $$PATH的区别。假设PATH的值为"/a/b/c",前者会先解析PATH变量然后把echo /a/b/c传给shell执行,即make会展开变量,后者则是把echo $PATH传给shell执行,即make会把$$替换为$。

6.如果只是想解析Makefile而不实际执行,则可用make -p命令。

7.规则的命令前加@取消回显。

8..PHONY: xxx声明的目标为伪目标,目的是只是为了执行一些操作。如果不声明为伪目标的话例如以下规则

clean: 

rm *.o

此时如果存在文件clean的话就会导致此规则的命令不被执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值