From: Stephen Rothwell sfr@canb.auug.org.au
After this change, doing a "make xxx_defconfig" will check first for a file called arch/<arch>/configs/Kconfig.xxx and use that to generate the .config (effectively starting from an allnoconfig). If that file doesn't exist, it will use arch/<ARCH>/configs/xxx_defconfig as now.
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: Stephen Rothwell sfr@canb.auug.org.au Signed-off-by: John Stultz john.stultz@linaro.org --- scripts/kconfig/Makefile | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 368ae30..f1ef231 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -116,9 +116,21 @@ else $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) endif
-%_defconfig: $(obj)/conf +configs_dir := $(srctree)/arch/$(SRCARCH)/configs +# We check a level of sub directories because arch/powerpc +# has its defconfig files arranged that way +old_defconfigs := $(patsubst $(configs_dir)/%,%,\ + $(wildcard $(configs_dir)/*_defconfig) \ + $(wildcard $(configs_dir)/*/*_defconfig)) +defconfigs := $(patsubst $(configs_dir)/Kconfig.%,%_defconfig,\ + $(wildcard $(configs_dir)/Kconfig.*)) + +$(old_defconfigs): %_defconfig: $(obj)/conf $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
+$(defconfigs): %_defconfig: $(obj)/conf + $(Q)$< -n arch/$(SRCARCH)/configs/Kconfig.$* + # Help text used by make help help: @echo ' config - Update current config utilising a line-oriented program'