make的执行过程

make 的执行过程如下:
1. 依次读取变量“ MAKEFILES”定义的 makefile 文件列表
2. 读取工作目录下的 makefile 文件(根据命名的查找顺序“ GNUmakefile”,
“ makefile”,“ Makefile”,首先找到那个就读取那个)
3. 依次读取工作目录 makefile 文件中使用指示符“ include”包含的文件
4. 查找重建所有已读取的 makefile 文件的规则(如果存在一个目标是当前读取的
某一个 makefile 文件,则执行此规则重建此 makefile 文件,完成以后从第一步
开始重新执行)
5. 初始化变量值并展开那些需要立即展开的变量和函数并根据预设条件确定执行
分支
6. 根据“终极目标”以及其他目标的依赖关系建立依赖关系链表
7. 执行除“终极目标”以外的所有的目标的规则(规则中如果依赖文件中任一个
文件的时间戳比目标文件新,则使用规则所定义的命令重建目标文件)

8. 执行“终极目标”所在的规则


说明:
执行一个规则的过程是这样的:
对于一个存在的规则(明确规则和隐含规则)首先, make程序将比较目标文件和所有的依赖文
件的时间戳。如果目标的时间戳比所有依赖文件的时间戳更新(依赖文件在上一次执行make之后没
有被修改),那么什么也不做。否则(依赖文件中的某一个或者全部在上一次执行make后已经被修
改过),规则所定义的重建目标的命令将会被执行。这就是make工作的基础,也是其执行规制所定

义命令的依据.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值