Commit f91e46b1 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kconfig: unify rule of config, menuconfig, nconfig, gconfig, xconfig



Unify the similar build rules.

This supports 'make build_config', which builds scripts/kconfig/conf
but does not invoke it.

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent ae8da72b
Loading
Loading
Loading
Loading
+14 −22
Original line number Diff line number Diff line
@@ -3,9 +3,6 @@
# Kernel configuration targets
# These targets are used from top-level makefile

PHONY += xconfig gconfig menuconfig config localmodconfig localyesconfig \
	build_menuconfig build_nconfig build_gconfig build_xconfig

ifdef KBUILD_KCONFIG
Kconfig := $(KBUILD_KCONFIG)
else
@@ -19,29 +16,24 @@ endif
# We need this, in case the user has it in its environment
unexport CONFIG_

xconfig: $(obj)/qconf
	$(Q)$< $(silent) $(Kconfig)

gconfig: $(obj)/gconf
	$(Q)$< $(silent) $(Kconfig)

menuconfig: $(obj)/mconf
	$(Q)$< $(silent) $(Kconfig)

config: $(obj)/conf
	$(Q)$< $(silent) $(Kconfig)

nconfig: $(obj)/nconf
	$(Q)$< $(silent) $(Kconfig)

build_menuconfig: $(obj)/mconf
config-prog	:= conf
menuconfig-prog	:= mconf
nconfig-prog	:= nconf
gconfig-prog	:= gconf
xconfig-prog	:= qconf

build_nconfig: $(obj)/nconf
define config_rule
PHONY += $(1)
$(1): $(obj)/$($(1)-prog)
	$(Q)$$< $(silent) $(Kconfig)

build_gconfig: $(obj)/gconf
PHONY += build_$(1)
build_$(1): $(obj)/$($(1)-prog)
endef

build_xconfig: $(obj)/qconf
$(foreach c, config menuconfig nconfig gconfig xconfig, $(eval $(call config_rule,$(c))))

PHONY += localmodconfig localyesconfig
localyesconfig localmodconfig: $(obj)/conf
	$(Q)$(PERL) $(srctree)/$(src)/streamline_config.pl --$@ $(srctree) $(Kconfig) > .tmp.config
	$(Q)if [ -f .config ]; then 				\