Kconfig&Makefile
功能
Kconfig | Makefile |
---|---|
决定menuconfig中的选项并最终影响Makefile的行为 | 根据menuconfig的配置决定实际编译的obj文件 |
语法
Kconfig
1 | menu "TEST driver" #menuconfig中增加子菜单 TEST driver |
Makefile
1 | obj-$(CONFIG_TEST) += test.o #若TEST support被选择为y(m),则将test.c编译为test.o(test.ko) |
在子目录中增加驱动
假设目录结构如下:
- drivers/
- dir1/
- Kconfig(1)
- Makefile(1)
- dir2/
- Kconfig(2)
- Makefile(2)
- dir1/
在 drivers/dir1 下:
修改Kconfig(1)
1 | source "drivers/dir1/dir2/Kconfig" #解析dir1下Kconfig时引入dir2下的Kconfig |
obj-$(CONFIG_TEST) += dir2/
1 |
|
menu “TEST driver”
comment “TEST driver”
config TEST
tristate “test support”
endmenu
1 |
|
obj-$(CONFIG_TEST) += test.o