crosstool-ng/kconfig/kconfig.mk
Yann E. MORIN" 143c1430c9 samples: add rule to dump current .config into a defconfig
... and one to restore it, of course.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-15 22:06:22 +02:00

64 lines
2.6 KiB
Makefile

# ===========================================================================
# crosstool-NG configuration targets
# These targets are used from top-level makefile
#-----------------------------------------------------------
# The configurators rules
configurators = menuconfig nconfig oldconfig defconfig olddefconfig
PHONY += $(configurators)
$(configurators): config_files
# We need CONF for savedefconfig in scripts/saveSample.sh
export CONF := $(CT_LIB_DIR)/kconfig/conf
MCONF := $(CT_LIB_DIR)/kconfig/mconf
NCONF := $(CT_LIB_DIR)/kconfig/nconf
menuconfig:
@$(ECHO) " CONF $(KCONFIG_TOP)"
$(SILENT)$(MCONF) $(KCONFIG_TOP)
nconfig:
@$(ECHO) " CONF $(KCONFIG_TOP)"
$(SILENT)$(NCONF) $(KCONFIG_TOP)
oldconfig: .config
@$(ECHO) " CONF $(KCONFIG_TOP)"
$(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP)
defconfig: .config
@$(ECHO) ' GEN $@'
$(SILENT)$(CONF) --savedefconfig=$${CONFIG-defconfig} $(KCONFIG_TOP)
olddefconfig:
@$(ECHO) ' CONF $@'
$(SILENT)$(CONF) --defconfig=$${CONFIG-defconfig} $(KCONFIG_TOP)
# Always be silent, the stdout an be >.config
extractconfig:
@$(awk) 'BEGIN { dump=0; } \
dump==1 && $$0~/^\[.....\][[:space:]]+(# |)CT_/ { \
$$1=""; \
gsub("^[[:space:]]",""); \
print; \
} \
$$0~/Dumping user-supplied crosstool-NG configuration: done in/ { \
dump=0; \
} \
$$0~/Dumping user-supplied crosstool-NG configuration$$/ { \
dump=1; \
}'
#-----------------------------------------------------------
# Help text used by make help
help-config::
@echo ' menuconfig - Update current config using a menu based program'
@echo ' oldconfig - Update current config using a provided .config as base'
@echo ' extractconfig - Extract to stdout the configuration items from a'
@echo ' build.log file piped to stdin'
@echo ' defconfig - Save current config as a mini-defconfig to $${CONFIG}'
@echo ' olddefconfig - Update config from a mini-defconfig $${CONFIG}'
@echo ' (default: $${CONFIG}=./defconfig)'