内核的Makefile与Kconfig关系解析

在子目录下的Kconfig里添加make menuconfig的选项(如图一),并默认设置为y,make menuconfig的菜单里就会有该项并默认为选上状态,make menuconfig配置完之后在.config文件里就有该选项,并等于y(如果make menuconfig的时候不选中该项的话,则.config里该项被注释掉,如图二,选上的也参考图二的其他项),在子目录的Makefile里就会根据这个.config里这个值(y或n或m)去编译这个.o文件,如图三

内核的Makefile与Kconfig关系解析

                                                                                       图一

内核的Makefile与Kconfig关系解析

                                                                                       图二

内核的Makefile与Kconfig关系解析

                                                                                       图三

 

 

下面图四是一些固定被编译进内核的项,如char目录,而char目录下的子项则根据其各自是否需要被编译进内核来决定,和上面情况一样(leds就是属于char目录的);

内核的Makefile与Kconfig关系解析

                                                                                       图四