Makefile: fix source/source-check/external-deps with O=

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>
This commit is contained in:
Peter Korsgaard 2010-08-29 23:24:07 +02:00
parent b6207627b4
commit de846f6e04

View File

@ -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