一.ProjectConfig.mk (共三种区别)
1.AUTO_ADD_GLOBAL_DEFINE_BY_NAME类型: 将它后面的名字,定义为宏是没有初始值的 (#define XXX)
2.AUTO_ADD_GLOBAL_DEFINE_BY_VALUE类型: 将他后面的名字对应的每个值,都定义为宏
3.AUTO_ADD_GLOBAL_DEFINE_BY_NAME_VALUE类型: 将它后面的名字,定义为宏,有初始值的定义,同时宏的值是配置文件中的值 (#define XXX 10)
注释:
这个文件 两个都添加是没有问题的,添加任意一个也是没问题的
二.XXX_defconfig ( 官方默认的配置)
1.defconfig 内核编译用做.config的参考 /kernel/arch/arm/configs/xxx_defconfig
2.kconfig 分布式的内核配置数据库
3.makefile 分布在各个目录下,用于集成编译
4.config 文件 主Makefile调用这个.config,用于内核编译配置 kernel/.../out/xxx_defconfig/.config
5. 根据$(CONFIG_XXXXX)配置不同,obj-$(CONFIG_XXXXX)分别对应obj-y,obj-m,obj-n.
a.obj-y:相关配置对应的.c文件会被编译到系统里。
b.obj-m:编译成相关的模块,生成.ko,可以通过insmod命令加载
c.obj-n;不会编译到系统里