Kconfig语法
1,示例:(driver/net/Kconfig)
// An highlighted block
menuconfig NETDEVICES
default y if UML
depends on NET
bool "Network device support"
---help---
... ...
if NETDEVICES
...
config DM9000
tristate "DM9000 support"
depends on ARM || BLACKFIN || MIPS
select CRC32
select MII
---help---
Support for DM9000 chipset.
...
config DM9000_16BIT
bool "DM9000 16-bit"
depends on DM9000
default n
help
Support DM9000 ethernet controller with 16bit data bus
...
endif # NETDEVICES
2,解析:
1,menuconfig NETDEVICES ->菜单项,表示一个可以扩展的菜单项,其中NETDEVICES为这个菜单项在.config中的配置值。当该菜单项的值为y时,.congfig中会出现CONFIG_NETDEVICES=y。
2,菜单项中可以扩展其他菜单选项和普通项,包含在
if NETDEVICES
与
endif # NETDEVICES之间
3,default y if UML ->设置该选项项的默认值,当UML为y活m时,NETDEVICES为y
4,bool “Network device support” ->二态选项,意思时该选项只能选择y活n,图标为[]。其中Network device support为该选项在菜单中显示的名称
5,tristate “DM9000 support” ->三态选项,该选项可以有三个值y、m和n,图标为<>。
6,depends on DM9000 ->依赖,表示该选项依赖于DM9000这个选项,如果DM9000不为y或m,则该选项为n,并且该选项不会在菜单中显示。
6,help ->help后面接帮助信息。
7,source “drivers/net/tulip/Kconfig” ->可以用source关键字包含其他目录下的Kconfig文件。