跟我一起写Makefile(7)--- 环境变量MAKEFILES+make的工作方式
来源:互联网 发布:参加淘宝邀请的活动 编辑:程序博客网 时间:2024/05/18 03:09
原文链接:http://blog.csdn.net/haoel/article/details/2886
四、环境变量 MAKEFILES
如果你的当前环境中定义了环境变量MAKEFILES,那么,make会把这个变量中的值做一个类似于include的动作。这个变量中的值是其它的Makefile,用空格分隔。只是,它和include不同的是,从这个环境变中引入的Makefile的“目标”不会起作用,如果环境变量中定义的文件发现错误,make也会不理。
但是在这里我还是建议不要使用这个环境变量,因为只要这个变量一被定义,那么当你使用make时,所有的Makefile都会受到它的影响,这绝不是你想看到的。在这里提这个事,只是为了告诉大家,也许有时候你的Makefile出现了怪事,那么你可以看看当前环境中有没有定义这个变量。
五、make的工作方式
GNU的make工作时的执行步骤入下:(想来其它的make也是类似)
1、读入所有的Makefile。
2、读入被include的其它Makefile。
3、初始化文件中的变量。
4、推导隐晦规则,并分析所有规则。
5、为所有的目标文件创建依赖关系链。
6、根据依赖关系,决定哪些目标要重新生成。
7、执行生成命令。
1-5步为第一个阶段,6-7为第二个阶段。第一个阶段中,如果定义的变量被使用了,那么,make会把其展开在使用的位置。但make并不会完全马上展开,make使用的是拖延战术,如果变量出现在依赖关系的规则中,那么仅当这条依赖被决定要使用了,变量才会在其内部展开。
当然,这个工作方式你不一定要清楚,但是知道这个方式你也会对make更为熟悉。有了这个基础,后续部分也就容易看懂了。
- 跟我一起写Makefile(7)--- 环境变量MAKEFILES+make的工作方式
- 跟我一起写makefile-8(make的运行)
- 跟我一起写Makefile(3)--- make如何工作+makefile使用变量
- 《跟我一起写makefile》(笔记7--运行make的参数选择)
- 跟我一起写 Makefile(8)make 的运行
- 跟我一起写Makefile(4)--- 让make自动推导+另类风格的makefile
- 跟我一起写 Makefile (八)——make的运行
- 跟我一起写Makefile(13)--- make的运行(make的退出码+指定Makefile+制定目标+检查规则+make的参数)
- 跟我一起写makefile 之 make运行
- 2015.11.7 跟我一起写makefile
- 跟我一起写 Makefile(陈皓著)
- 跟我一起写 Makefile(转载)
- 跟我一起写 Makefile(转载)
- 跟我一起写 Makefile(转载)
- 跟我一起写 Makefile(一)
- 跟我一起写 Makefile(二)
- 跟我一起写 Makefile(三)
- 跟我一起写 Makefile(四)
- 顺序表应用3:元素位置互换之移位算法
- 对于RSA算法的一些理解
- HDU 4810 Wall Painting(异或数学)
- 常用的linux命令-wget
- 数据结构实验之串一:KMP简单应用
- 跟我一起写Makefile(7)--- 环境变量MAKEFILES+make的工作方式
- javascript-js 的prototype原型理解讲解
- 顺序表应用5:有序顺序表归并
- Codeforces 703D 树状数组
- 七牛web端云存储第一势
- Apache配置反向代理、负载均衡和集群(mod_proxy方式)
- SEO
- HDU 4811 Ball(水)
- ACM暑期集训——专题一[DFS回溯法]