20180412 makefile学习笔记-makefile总述(make的工作方式)
GNU的make工作时的执行步骤如下(其他的make也是类似):
1、读入所有的Makefile;
2、读入被include的其他Makefile;
3、初始化文件中的变量;
4、推导隐晦规则,并分析所有规则;
5、为所有的目标文件创建依赖关系链;
6、根据依赖关系,决定哪些目标要重新生成;
7、执行生成命令。
1~5步为第一阶段,6~7步为第二阶段。第一个阶段中,如果被定义的变量被使用了,那么,make会把其展开在使用的位置。但make并不会完全马上展开,make使用的是拖延战术,如果变量出现在依赖关系的规则中,那么仅当这条依赖被决定要使用了,变量才会在其内部展开。
这个工作方式没必要清楚,但这会让你对make更熟悉。