vivi情景分析(一): 配置管理(七)
上一篇 /
下一篇 2008-06-15 14:09:07
/ 个人分类:arm
上例中我们分析了make config的情景,明白了make config时,配置选项是如何出现的,以及输入配置选项后,配置选项如何输入到配置文件的过程。简而言之,make config的作用就是,根据用户的配置生成了两个重要文件:.config和autoconf.h。那这两个配置文件,在编译链接vivi时,是如何起作用的呢,vivi的image文件又是如何生成的呢,当你走过make的情景后,一切豁然开朗。
查看Makefile的原则是:
根据目标找依赖,每一个依赖又是一个目标,对于依赖无法再分的目标,执行目标下的动作,执行后再返回到上一层。举一个简单的例子:
A:B C 动作1 B:E F 动作2 E: G 动作3 C:H 动作4 |
运行make A,A是目标,B,C是依赖,B依赖E,F;而E又依赖G,G不能再分,因此执行E下面的动作,生成E;F不可再分,直接生成;E,F都生成后,B再无依赖,因此执行B下的动作,生成B;再看C,C依赖H,H不可再分,因此执行C下面的动作,生成C;此时B,C都生成,A再无依赖,执行A下面的动作,生成A。至此Make完毕。
其实这个过程和图论当中的先深搜索有关。每一个目标和依赖都是一个节点,依赖关系则构成父子关系,没有依赖关系的节点就是一个叶子节点,遍历从A开始,从子节点到父节点的回溯就是一次编译过程。 A B C E F H G
|
vivi也一样,只是它比一般的Makefile要复杂一点,有时大家就望而生畏了,其实只要我们把握了上面的原则,再复杂的景象也会一点一点地展现在我们面前,还等什么,Let's go。
导入论坛
收藏
分享给好友
管理
举报
TAG:
ARM
arm