12-自动生成依赖关系(中)

1. include 关键字

  • makefile 中的 include 关键字

    + 类似C语言中的 include
    将其它文件的内容原封不动的搬入当前文件
    语法:
    	inlcude foo.make // 将 foo.make 文件中的内容搬入此makefile我呢见
    	include *.mk // 将以mk结尾的文件搬入此 makefile 文件中
    	include $(var) // 使用变量代替文件名
    
  • mkae 对 include 关键字的处理方式

    + 在当前目录或指定目录中搜索或指定目录搜索目标文件
    	+ 搜索成功:将文件内容搬入当前 makefile 中
    	+ 搜索失败:产生警告。并以文件名作为目标查找并执行对应规则,当文件名对应的规则不存在时,最终产生错误
    

2. 示例分析

下面的代码有没有问题?

.PHONY : all
all : 
	mkdir test
	cd test
	mkdir subtest

结果:在当前目录中生成了 test 和 subtest两个文件夹,和我们预期的不一样

makefile 中命令的执行机制:

  • 规则中的每个命令默认是在一个新的进程中执行 ( Shell )
  • 可以通过接续符 ; 将多个命令组合成一个命令
  • 组合的命令依次在同一个进程中被执行
  • set -e 指定发生错误后立即退出执行

示例改进&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值