Add generic functions to enable/set/disable options in kconfig files

The KCONFIG_ENABLE_OPT, KCONFIG_SET_OPT and KCONFIG_DISABLE_OPT are
new make functions to respectively enable, set and disable options in
Kconfig-like files (as used by the kernel, uClibc or Busybox).

They can be used as follows :

 $(call KCONFIG_ENABLE_OPT,CONFIG_FOOBAR,/path/to/.config)
 $(call KCONFIG_SET_OPT,CONFIG_BARFOO,foobar,/path/to/.config)
 $(call KCONFIG_DISABLE_OPT,CONFIG_FARBOO,/path/to/.config)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2010-06-08 13:54:10 +02:00
parent dc4d5647a5
commit 0802370746

View File

@ -40,6 +40,21 @@ UPPERCASE = $(strip $(eval __tmp := $1) \
$(__tmp)))) \
$(__tmp))
define KCONFIG_ENABLE_OPT
$(SED) "/$(1)/d" $(2)
echo "$(1)=y" >> $(2)
endef
define KCONFIG_SET_OPT
$(SED) "/$(1)/d" $(3)
echo "$(1)=$(2)" >> $(3)
endef
define KCONFIG_DISABLE_OPT
$(SED) "/$(1)/d" $(2)
echo "# $(1) is not set" >> $(2)
endef
# Define extrators for different archive suffixes
INFLATE.bz2 = $(BZCAT)
INFLATE.gz = $(ZCAT)