配置的结果就是在内核代码根目录生成了一个.config文件。
1.以一个配置项:CONFIG_DM9000为例分析谁在使用配置项:
grep “CONFIG_DM9000” * -nwR
使用此命令查找使用CONFIG_DM9000的文件有四种:
a. c文件中
b. 子目录的makefile文件中
c. include/config/auto.conf :
d. include/linux/autoconf.h :
分析a,知道CONFIG_DM9000是一个宏,只能在头文件或C文件定义,也就是说在d中定义,一般为1。
分析b,子目录的makefile,基本格式为obj-y +=xxx.o,或者为obj-m += yyy.o。例如:obj-CONFIG_DM9000+=dm9000.o,
CONFIG_DM9000这个名字由C中的 include/config/auto.conf 文件定义。
2.make uImage时,生成了两个文件:
.config->autoconf.h 由.config自动生成,由源代码使用。
.config->auto.conf 由顶层makefile包含并使用。