***********************************************
local OS :xp(SP3)
VM OS: ubuntu-10.04.2
VM OS kernel: 2.6.32-41-generic
tagget board kernel: 2.6.38.6
VM:VMware-workstation-7.1.4
***********************************************
在提到makefile依赖时,我想到了kernel下基于Kconfig建立起来的模块依赖关系。不管是 在ubuntu 下的 /usr/src/linux_heards_2.6.32-41有.kconfig 还是目前开发平台kernel根目录下有Kconfig。其他的Kconfig都是在这个Kconfig下开始Makefile在编译时就是调用这个Kconfig,我们就开始从这个Kconfig来分析kernel下的Kconfig体系。
Kconfig文件
# # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # mainmenu "Linux/$ARCH $KERNELVERSION Kernel Configuration" config SRCARCH string option env="SRCARCH" source "arch/$SRCARCH/Kconfig"
说明:
1$ARCH :主机环境
2 $KERNELVERSION :内核版本号
3 config SRCARCH: 配置一个环境变量,跟平台偶关系
4 “arch/$SRCARCH/Kconfig": 很重要,这个是包含了一个arch目录下的Kconfig文件,这个看你目标板的是什么平台咯 。我的应该是 /arch/arm/mach-s3c2440
Makefile调用这个Kconfig的时候,很多奇妙的东西就在这之后开始了。顺便说一下,参考\Documentation\kbuild下的文件看看吧
看一下我的运行make menuconfig下显示的的东西吧: