当前位置: 技术问答>linux和unix
如何理解make的执行过程?
来源: 互联网 发布时间:2016-06-11
本文导语: gnu make的执行过程: 1.读取变量"MAKEFILES"定义的makefile文件列表 2.读取工作目录下的默认makefile文件(makefile,Makefile) 3.依次读取工作目录makefile文件中使用指示符"include"包含的文件 4.查找重建所有已读取的makefile文件的规...
gnu make的执行过程:
1.读取变量"MAKEFILES"定义的makefile文件列表
2.读取工作目录下的默认makefile文件(makefile,Makefile)
3.依次读取工作目录makefile文件中使用指示符"include"包含的文件
4.查找重建所有已读取的makefile文件的规则(如果存在一个目标是当前读取的某一个makefile文件,则执行此规则重建此makefile文件,完成以后从第一步开始重新执行)
5.初始化变量值并展开那些需要立即展开的变量和函数并根据预设条件确定执行分支
6.根据"终极目标"以及其他目标的依赖关系建立依赖关系链表
7.执行除"终极目标"以外的所有的目标的规则(规则中如果所依赖的文件中一个时间戳比目标文件新,则根据规则所定义的命令重新创建目标)
8.执行"终极目标"所在的规则
1-3好理解。
4是什么意思呢?怎么叫做重建makefile?
1.读取变量"MAKEFILES"定义的makefile文件列表
2.读取工作目录下的默认makefile文件(makefile,Makefile)
3.依次读取工作目录makefile文件中使用指示符"include"包含的文件
4.查找重建所有已读取的makefile文件的规则(如果存在一个目标是当前读取的某一个makefile文件,则执行此规则重建此makefile文件,完成以后从第一步开始重新执行)
5.初始化变量值并展开那些需要立即展开的变量和函数并根据预设条件确定执行分支
6.根据"终极目标"以及其他目标的依赖关系建立依赖关系链表
7.执行除"终极目标"以外的所有的目标的规则(规则中如果所依赖的文件中一个时间戳比目标文件新,则根据规则所定义的命令重新创建目标)
8.执行"终极目标"所在的规则
1-3好理解。
4是什么意思呢?怎么叫做重建makefile?
|
建议参考《跟我一起写makefile》,网上有
|
GUN 中文手册,或者《跟我一起写MAKEFILE》 google一下都有的