- the external-toolchain.mk is not parallel-safe, so ignore it.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 23 Jul 2007 11:29:38 +0000 (11:29 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 23 Jul 2007 11:29:38 +0000 (11:29 -0000)
- first step of minor adjustments to allow for a toplevel 'make -j128' (regardless of BR2_JLEVEL)

Makefile

index 53a647111db6c5ba9fad4fcb6cae2ed603c86f8f..61c776da916fc4989c9bbe3a3e59a3880cea086f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -155,10 +155,12 @@ PREFERRED_LIB_FLAGS:=--enable-static --enable-shared
 #
 ##############################################################
 ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-TARGETS:=uclibc-configured binutils gcc uclibc-target-utils
+BASE_TARGETS:=uclibc-configured binutils gcc uclibc-target-utils
 else
-TARGETS:=uclibc
+BASE_TARGETS:=uclibc
 endif
+TARGETS:=
+
 
 PROJECT:=$(strip $(subst ",,$(BR2_PROJECT)))
 #"))
@@ -167,7 +169,6 @@ TARGET_HOSTNAME:=$(strip $(subst ",,$(BR2_HOSTNAME)))
 BANNER:=$(strip $(subst ",,$(BR2_BANNER)))
 #"))
 
-
 include toolchain/Makefile.in
 include package/Makefile.in
 
@@ -186,10 +187,17 @@ include .config.cmd
 # We also need the various per-package makefiles, which also add
 # each selected package to TARGETS if that package was selected
 # in the .config file.
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
+# avoid pulling in external toolchain which is broken for toplvl parallel builds
+include $(filter-out $(wildcard toolchain/external-toolchain/*),$(wildcard toolchain/*/*.mk))
+else
 include toolchain/*/*.mk
+endif
+
 ifeq ($(BR2_PACKAGE_LINUX),y)
 TARGETS+=linux26-modules
 endif
+
 include package/*/*.mk
 
 # target stuff is last so it can override anything else
@@ -199,6 +207,9 @@ TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
 TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS))
 TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
 
+# all targets depend on the crosscompiler and it's prerequisites
+$(TARGETS): $(BASE_TARGETS)
+
 world: $(DL_DIR) $(BUILD_DIR) $(PROJECT_BUILD_DIR) \
        $(BINARIES_DIR) $(STAGING_DIR) $(TARGET_DIR) bsp $(TARGETS)
 dirs: $(DL_DIR) $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(STAGING_DIR)