全文概要
本文主要侧重于kbuild 的实现分析,希望能从一个building system 设计者的角度来更好地了解kbuild的实现和背后的设计思想。本文的主要内容大致可分为5大部分:
• Part1 . chapter1, kbuild 的架构和各个部分的简介。
• Part2 . chapter2, kbuild 常用到的makefile 基础知识,了解这部分有助于我们对kbuild 具体实现的分析, 事实上完整通读并理解了make info page 的人完全可以忽略这一部分。
• Part3 . kbuild 主要功能的分析。我们知道,一份代码运行的时候更多得是以立体的方式表现出来的, 而平面的逐行的注释很难清楚地解释其全部功能,因此,我们采用得是从功能的角度解释其实现,这一部分分为两章:
– Chapter3 . 主要分析kbuild 提供的各类targets 实现,基本上不涉及kbuild 规则的实现.
– chapter4 . 将以源代码树下的具体Makefile 为分析对象,详细分析kbuild 的各种规则文件.
• Part4 . chapter5, kbuild 专题。单纯讲述kbuild 而不涉及到一些专题是不可能的,如依赖关系生成,模块版本支持( CONFIG_MODULEVERSION ), kallsyms, bzImage,relocatable kernel 等,这些都和kbuild 紧密联系在一起. 这些主题同时也会涉及一些工具程序: fixdep, modpost, kallsyms, relocs 等。
• Part5 . chapter6 , 一些kbuild设计思想的总结以及自2.4系列以来的改进。
本文所分析的kbuild kernel版本为2.6.23.1,GNU make 版本为3.81 .
附件为pdf全文.
|
文件: |
kbuild_analysis.pdf |
大小: |
1285KB |
下载: |
下载 | |
阅读(8912) | 评论(3) | 转发(1) |