Minisky

好记性不如个烂笔头,记一些有用的东西!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux Makefile学习笔记

Posted on 2011-03-28 12:25  Minisky  阅读(208)  评论(0编辑  收藏  举报

GNU的make工作时的执行步骤入下:

1、读入所有的 Makefile;

2、读入被 include 的其它 Makefile;

3、初始化文件中的变量;

4、推导隐晦规则,并分析所有规则;

5、为所有的目标文件创建依赖关系链;

6、根据依赖关系,决定哪些目标要重新生成;

7、执行生成命令。 

1-5 步为第一个阶段,6-7为第二个阶段。第一个阶段中,如果定义的变量被使用了,那么,make 会把其展开在使用的位置。但 make 并不会完全马上展开,make 使用的是拖延战术,如果变量出现在依赖关系的规则中,那么仅当这条依赖被决定要使用了,变量才会在其内部展开。