关于Kernel编译配置文件 - makefile .config Kconfig
make config(传统界面), make menuconfig(图形菜单界面)会得到.config在顶层Makefile。确定哪些被编译到内核。
makefile中obj-y 选项会编译进内核。obj-m表示编译成模块。obj-n表示不编译进内核。
除了obj-形式的目标以外,还有lib-y library库,hostprogs-y 主机程序等目标,但是基本都应用在特定的目录和场合下。
- 形如 obj-$(CONFIG_AUDIT) += tty_audit.o,用变量控制编译方式。而此处的变量是通过.config文件采集的。
- .config 虽然可以用autocof来生成,makefile可以用automake制作。但是缺乏灵活度。
- Kconfig.出现。
$ make menuconfig
会通过菜单的选项来修改各级.config文件,而菜单的读取通过Kconfig文件表现。所以想要添加自己的一个模块可以在相应的位置更改Kconfig,添加一个选项。而config 之后的名称就是在makefile中的变量名。
所以要增加自己的源码编译进内核:
- 拷贝源码到相应目录
- 在Kconfig中增加选项
- 在makefile中增加相应变量控制编译的条目
config S3C2410_RTC