summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann E. MORIN <yann.morin.1998@anciens.enib.fr>2010-07-28 00:08:15 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2010-07-28 16:20:06 +0200
commited0200993e38194314c44f3eb6952fca25b2255a (patch)
tree1ce32e5c2d9659bf01ce6498942bb6526d03ae7a
parentf78ea9fcf02f427695cdd3310bfd76e5c3919569 (diff)
downloadbuildroot-novena-ed0200993e38194314c44f3eb6952fca25b2255a.tar.gz
buildroot-novena-ed0200993e38194314c44f3eb6952fca25b2255a.zip
toolchain: move makefile includes
Including a bunch of Makefiles with wildcard makes it impossible to add new toolchain backends. Avoid that by namely including needed files. The external toolchain still needs to include all the toolchain/*/*.mk sub-makefiles, as they are needed to build a toolchain that runs on the target. It is to be noted that the cross-toolchain is not built in this case, as the make-targets to build the cross-toolchain are not present in the $(BASE_TARGETS) variable, which is later used to create the dependency rules. Also, the comment 'Explicit ordering' has been removed, as it is mis- leading. It is make's responsibility to create the proper ordering based on the dependency rules it finds in the Makefiles Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--Makefile16
-rw-r--r--toolchain/toolchain-buildroot.mk12
-rw-r--r--toolchain/toolchain-external.mk14
3 files changed, 28 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index b1d50798e..619d8ea03 100644
--- a/Makefile
+++ b/Makefile
@@ -294,21 +294,9 @@ all: world
# 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
-# Explicit ordering:
-include toolchain/dependencies/dependencies.mk
-include toolchain/binutils/binutils.mk
-include toolchain/ccache/ccache.mk
-include toolchain/elf2flt/elf2flt.mk
-include toolchain/gcc/gcc-uclibc-4.x.mk
-include toolchain/gdb/gdb.mk
-include toolchain/kernel-headers/kernel-headers.mk
-include toolchain/mklibs/mklibs.mk
-include toolchain/sstrip/sstrip.mk
-include toolchain/uClibc/uclibc.mk
+include toolchain/toolchain-buildroot.mk
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
-include toolchain/helpers.mk
-include toolchain/*/*.mk
+include toolchain/toolchain-external.mk
endif
include package/*/*.mk
diff --git a/toolchain/toolchain-buildroot.mk b/toolchain/toolchain-buildroot.mk
new file mode 100644
index 000000000..d879697e9
--- /dev/null
+++ b/toolchain/toolchain-buildroot.mk
@@ -0,0 +1,12 @@
+# Include files required for the internal toolchain backend
+
+include toolchain/dependencies/dependencies.mk
+include toolchain/binutils/binutils.mk
+include toolchain/ccache/ccache.mk
+include toolchain/elf2flt/elf2flt.mk
+include toolchain/gcc/gcc-uclibc-4.x.mk
+include toolchain/gdb/gdb.mk
+include toolchain/kernel-headers/kernel-headers.mk
+include toolchain/mklibs/mklibs.mk
+include toolchain/sstrip/sstrip.mk
+include toolchain/uClibc/uclibc.mk
diff --git a/toolchain/toolchain-external.mk b/toolchain/toolchain-external.mk
new file mode 100644
index 000000000..6f1f641ac
--- /dev/null
+++ b/toolchain/toolchain-external.mk
@@ -0,0 +1,14 @@
+# Required includes for the external toolchain backend
+
+include toolchain/helpers.mk
+include toolchain/binutils/binutils.mk
+include toolchain/ccache/ccache.mk
+include toolchain/dependencies/dependencies.mk
+include toolchain/elf2flt/elf2flt.mk
+include toolchain/gcc/gcc-uclibc-4.x.mk
+include toolchain/gdb/gdb.mk
+include toolchain/kernel-headers/kernel-headers.mk
+include toolchain/mklibs/mklibs.mk
+include toolchain/sstrip/sstrip.mk
+include toolchain/toolchain-external/ext-tool.mk
+include toolchain/uClibc/uclibc.mk