The Kconfig way Kconfig/Kbuild is a complex beast It is a set of Makefile rules and dependencies Somebody complained that instead of augmenting make, we should replace it Those developers eventually surrendered and used Kconfig But the Kconfig language is simple It is documented in the kernel sources Documentation/kbuild/kconfig-language.txt But it's so easy that for most things you can just copy other Kconfig files You can configure with any out of a range of tools config, menuconfig, nconfig, qconfig, gconfig, ... The output is a text file You can ship configuration examples And you easily apply a predefined configuration