Makefile: fix source/source-check/external-deps with O=
authorPeter Korsgaard <jacmet@sunsite.dk>
Sun, 29 Aug 2010 21:24:07 +0000 (23:24 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sun, 29 Aug 2010 21:24:07 +0000 (23:24 +0200)
Based on patch by Will Wagner <will_wagner@carallon.com>.

Now that the .config is located in the output directory when O=<dir>
is used, we have to pass the O= option to make for
source/source-check/external-deps to get them to look in the right place
for the .config.

Fix it by introducing an EXTRAMAKEARGS variable and use it whenever we
call back into the toplevel Makefile.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Makefile

index 291badf6188dc34ef7a5bf02ffd2e6386ddec16e..d37d81f64c66f42d8009dcc2091347c58b03e06f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -59,6 +59,8 @@ MAKEOVERRIDES =
 # To really make O go away, we have to override it.
 override O:=$(O)
 CONFIG_DIR:=$(O)
+# we need to pass O= everywhere we call back into the toplevel makefile
+EXTRAMAKEARGS = O=$(O)
 endif
 
 # $(shell find . -name *_defconfig |sed 's/.*\///')
@@ -432,11 +434,11 @@ endif
 source: $(TARGETS_SOURCE) $(HOST_SOURCE)
 
 _source-check:
-       $(MAKE) SPIDER=--spider source
+       $(MAKE) $(EXTRAMAKEARGS) SPIDER=--spider source
 
 external-deps:
        @$(MAKE) -Bs BR2_WGET=$(TOPDIR)/toolchain/wget-show-external-deps.sh \
-               SPIDER=--spider source
+               $(EXTRAMAKEARGS) SPIDER=--spider source
 
 show-targets:
        @echo $(TARGETS)
@@ -558,7 +560,7 @@ defconfig: $(BUILD_DIR)/buildroot-config/conf
 
 # check if download URLs are outdated
 source-check: allyesconfig
-       $(MAKE) _source-check
+       $(MAKE) $(EXTRAMAKEARGS) _source-check
 
 endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
 
@@ -585,11 +587,7 @@ flush:
 
 %_defconfig: $(TOPDIR)/configs/%_defconfig
        cp $^ $(CONFIG_DIR)/.config
-ifeq ($(O),output)
-       @$(MAKE) oldconfig
-else
-       @$(MAKE) O=$(O) oldconfig
-endif
+       @$(MAKE) $(EXTRAMAKEARGS) oldconfig
 
 configured: dirs host-sed kernel-headers uclibc-config busybox-config linux26-config