对Makefile、Kconfig与.config文件的再次理解

2010年9月12日 由 edsionte 留言 »

虽然前文中对Makefile、Kconfig以及.config三个文件又过解释,但是在做过几个简单的例子后,对这三个文件有了更深入的理解,(本文参考了苏锦秀师姐的PPT)现在总结如下:

1.我们要在内核中增加程序(比如驱动程序),并且使这个驱动程序能够编译进内核,基本分为两大部分。首先我们要告诉内核“请您下次编译的时候捎带上我”,即需要我们进行内核的相关配置,这就需要对相关Makefie和Kconfig文件进行修改,以便让内核知道将要对这个新的驱动程序进行编译。而仅仅只告诉内核“我需要你编译我”还不行,更重要的是让内核真正的去“行动”,即编译内核。

2.Makefile文集是整个内核工程编译命令的集合。它根据配置情况,构造出需要编译的内核源码文件列表,然后分别编译,并把目标代码链接到一起,形成内核二进制文件。也就是说Makefile只是存储了源码文件构建目标文件的规则,具体是否按着规则去执行还要看那些配置变量。

3.我们进行make menuconfig时,会出现一个配置菜单,它是由各层Kconfig文件组成。Kconfig文件是以分布式的方式位于源码的各个子目录当中。最底层的Kconfig位于源码目录下的arch/x86/Kconfig。由此入口,使用source语句把需要的子Kconfig文件加入到上级目录的Kconfig中,以此递归下去。Kconfig文件控制配置菜单是否出现新驱动的配置选项。用户通过Kconfig文件产生的配置选项,来控制对新驱动的配置。

4.我们在配置菜单中进行的相关配置(【】,【*】,【M】),最终都会存储于.config文件当中,因此Kconfig文件跟这些配置结果并没 有直接的关系,只是提供了配置菜单中的配置选项。

广告位

7 条评论

  1. lilanpei说道:

    嗯~不错,能给我解释下defconfig文件、perf_defconfig文件和Android.mk文件的用意吗?

    [回复一下]

    edsionte 回复:

    呃。。我不知道呃。。你google一下

    [回复一下]

    lilanpei 回复:

    呃~我就是想知道在编译Android时,Makefile文件和Android.mk文件在编译时各起什么作用?有什么联系?

    [回复一下]

    edsionte 回复:

    @lilanpei, Makefile是里面是编译规则,向内核说明需要编译那些文件,如何编译。

    [回复一下]

  2. hgg说道:

    .mk一般是被其它Makefile包含吧

    [回复一下]

  3. firo说道:

    Kconfig文件跟这些配置结果并没 有直接的关系,只是提供了配置菜单中的配置选项
    这句解读 太赞了 关系理清了。

    [回复一下]

    dx 回复:

    @lilanpei, perf_defconfig 在make help中应该能查到,用于生成特定的.config文件

    [回复一下]

发表回复

windows 7 ultimate product key

windows 7 ultimate product key

winrar download free

winrar download free

winzip registration code

winzip registration code

winzip free download

winzip free download

winzip activation code

winzip activation code

windows 7 key generator

windows 7 key generator

winzip freeware

winzip freeware

winzip free download full version

winzip free download full version

free winrar download

free winrar download

free winrar

free winrar

windows 7 crack

windows 7 crack

windows xp product key

windows xp product key

windows 7 activation crack

windows7 activation crack

free winzip

free winzip

winrar free download

winrar free download

winrar free

winrar free

download winrar free

download winrar free

windows 7 product key

windows 7 product key