kconfig的作用
Kconfig 文件是用来管理哪个文件或哪一行(需要用宏包含起来的)需要编译,是linux可裁剪特性的主要实现方式。(ps:makefile的作用是用来管理文件之间的依赖关系的)
kconfig是如何实现上面的神奇功能的
linux源码根目录下的script文件夹中是实现makemenuconfig等配置工具的源码。其次在linux源码的各个目录中都有一个kconfig文件,这些文件定义了一些宏定义及其状态选项,为menuconfig提供框架结构。在执行make menuconfig时会依次读取各个目录中的kconfig文件,生成配置树框架,再读取arch/arm/configs/xxxdefconfig 文件中的默认配置值,为之前的配置树赋值,然后生成.config及autoconf.h文件。生成的这两个文件是关键点!我们来看一下这两个文件的内容:(本文使用android编译环境,并非纯粹的linux编译环境)
下面以himax 触摸屏的驱动为例进行介绍:
out\target\product\msm8953_64\obj\KERNEL