summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gardiner <bengardiner@nanometrics.ca>2010-12-14 11:39:44 -0500
committerMichal Marek <mmarek@suse.cz>2010-12-14 23:05:02 +0100
commit41263fc6716dea402125c95f38ed83ebf59d5172 (patch)
treeb38af603d534914187e396c989fc01a20894a2ff
parentba9effa2ecdc08325bd297d541b4207b2df38184 (diff)
downloadlwn-41263fc6716dea402125c95f38ed83ebf59d5172.tar.gz
lwn-41263fc6716dea402125c95f38ed83ebf59d5172.zip
kbuild: fix interaction of CONFIG_IKCONFIG and KCONFIG_CONFIG
If you try to build a kernel with KCONFIG_CONFIG set (to a value not equal to .config) and that config sets CONFIG_IKCONFIG then the build will fail with: make[1]: *** No rule to make target `.config', needed by \ `kernel/config_data.gz'. Stop. because the kernel/Makefile contains a direct reference to .config. This issue has been present since the introduction of KCONFIG_CONFIG in 14cdd3c402bf7c66f0bcd76e290f0770a54a4b21. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Roman Zippel <zippel@linux-m68k.org> CC: Michal Marek <mmarek@suse.cz> Reviewed-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r--Makefile1
-rw-r--r--kernel/Makefile2
2 files changed, 2 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 6619720f50dd..ee77a3d88e0a 100644
--- a/Makefile
+++ b/Makefile
@@ -224,6 +224,7 @@ ifeq ($(ARCH),m68knommu)
endif
KCONFIG_CONFIG ?= .config
+export KCONFIG_CONFIG
# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
diff --git a/kernel/Makefile b/kernel/Makefile
index 0b5ff083fa22..33e0a39cf359 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -121,7 +121,7 @@ $(obj)/configs.o: $(obj)/config_data.h
# config_data.h contains the same information as ikconfig.h but gzipped.
# Info from config_data can be extracted from /proc/config*
targets += config_data.gz
-$(obj)/config_data.gz: .config FORCE
+$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
$(call if_changed,gzip)
quiet_cmd_ikconfiggz = IKCFG $@