如何理解make的执行过程?

sh/bash/dash/ksh/zsh等Shell脚本
回复
wwangzhihang
帖子: 54
注册时间: 2006-06-23 7:43
联系:

如何理解make的执行过程?

#1

帖子 wwangzhihang » 2009-05-26 10:50

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

1-3好理解。
4是什么意思呢?怎么叫做重建makefile?
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

Re: 如何理解make的执行过程?

#2

帖子 bones7456 » 2009-05-27 13:11

4的意思是 重建 规则..

最终可以 make -n
关注我的blog: ε==3
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: 如何理解make的执行过程?

#3

帖子 lerosua » 2009-05-27 13:53

学习一下 :em09
回复