From: Andreas Gruenbacher Subject: Add ``cloneconfig'' target Patch-mainline: Submitted 24 Feb 2011 Cloneconfig takes the first configuration it finds which appears to belong to the running kernel, and configures the kernel sources to match this configuration as closely as possible. Signed-off-by: Andreas Gruenbacher Signed-off-by: Jeff Mahoney --- scripts/kconfig/Makefile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -99,6 +99,23 @@ PHONY += allnoconfig allyesconfig allmod allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf $< --$@ $(Kconfig) + +UNAME_RELEASE := $(shell uname -r) +CLONECONFIG := $(firstword $(wildcard /proc/config.gz \ + /lib/modules/$(UNAME_RELEASE)/.config \ + /etc/kernel-config \ + /boot/config-$(UNAME_RELEASE))) +cloneconfig: $(obj)/conf + $(Q)case "$(CLONECONFIG)" in \ + '') echo -e "The configuration of the running" \ + "kernel could not be determined\n"; \ + false ;; \ + *.gz) gzip -cd $(CLONECONFIG) > .config.running ;; \ + *) cat $(CLONECONFIG) > .config.running ;; \ + esac && \ + echo -e "Cloning configuration file $(CLONECONFIG)\n" + $(Q)$< --defconfig=.config.running arch/$(SRCARCH)/Kconfig + PHONY += listnewconfig oldnoconfig savedefconfig defconfig