Hi,

the attached patch makes 'make -j $N' work for
compile-lm32-rtems/Makefile.  Also removes unnccessary subshell parens
(..).  Just tested 'make -j4', finished without errors.

cheers,

David

---
 compile-lm32-rtems/Makefile |   56 ++++++++++++++++++++++++------------------
 1 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/compile-lm32-rtems/Makefile b/compile-lm32-rtems/Makefile
index 54a630a..6e26ef1 100644
--- a/compile-lm32-rtems/Makefile
+++ b/compile-lm32-rtems/Makefile
@@ -50,51 +50,54 @@ DL=$(if $(wildcard ../dl/.),../dl,dl)
 RTEMS_PATCHES_DIR=rtems-patches
 MM1_PATCHES_DIR=milkymist-one-patches
 
-.PHONY: all clean
-
+# make sure this rule stays at top
 all: .install.gdb.ok .install.gcc.ok
 
+.PHONY: all clean
+
 .install.gcc.ok: .compile.gcc.ok
-       (cd b-gcc && make install)
+       $(MAKE) -C b-gcc install
        touch $@
 
 .compile.gcc.ok: .install.binutils.ok .patch.ok gcc-$(GCC_CORE_VERSION)/newlib
        export PATH=$(RTEMS_PREFIX)/bin:$$PATH
        mkdir -p b-gcc
-       (cd b-gcc/ && \
+       cd b-gcc/ && \
          ../gcc-$(GCC_CORE_VERSION)/configure --target=lm32-rtems4.11 \
          --with-gnu-as --with-gnu-ld --with-newlib --verbose \
          --enable-threads --enable-languages="c" --disable-shared \
-         --prefix=$(RTEMS_PREFIX) && \
-        make all info)
+         --prefix=$(RTEMS_PREFIX)
+       $(MAKE) -C b-gcc all
+       $(MAKE) -C b-gcc info
        touch $@
 
 .install.binutils.ok: .compile.binutils.ok
        mkdir -p $(RTEMS_PREFIX)
-       (cd b-binutils && make install)
+       $(MAKE) -C b-binutils install
        touch $@
 
 .compile.binutils.ok: .patch.ok
        mkdir -p b-binutils
-       (cd b-binutils && \
+       cd b-binutils && \
         ../binutils-$(BINUTILS_VERSION)/configure --target=lm32-rtems4.11 \
-        --prefix=$(RTEMS_PREFIX) && \
-        make all info)
+        --prefix=$(RTEMS_PREFIX)
+       $(MAKE) -C b-binutils all
+       $(MAKE) -C b-binutils info
        touch $@
 
 gcc-$(GCC_CORE_VERSION)/newlib: .unzip.ok
-       (cd gcc-$(GCC_CORE_VERSION) && \
-        ln -s ../newlib-$(NEWLIB_VERSION)/newlib)
+       cd gcc-$(GCC_CORE_VERSION) && \
+        ln -s ../newlib-$(NEWLIB_VERSION)/newlib
 
 .patch.ok: .unzip.ok $(RTEMS_PATCHES_DIR)/.ok
-       (cd binutils-$(BINUTILS_VERSION) && \
-        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(BINUTILS_PATCH))
-       (cd gcc-$(GCC_CORE_VERSION) && \
-        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(GCC_CORE_PATCH))
-       (cd newlib-$(NEWLIB_VERSION) && \
-        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(NEWLIB_PATCH))
-       (cd gdb-$(GDB_VERSION) && \
-        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(GDB_PATCH))
+       cd binutils-$(BINUTILS_VERSION) && \
+        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(BINUTILS_PATCH)
+       cd gcc-$(GCC_CORE_VERSION) && \
+        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(GCC_CORE_PATCH)
+       cd newlib-$(NEWLIB_VERSION) && \
+        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(NEWLIB_PATCH)
+       cd gdb-$(GDB_VERSION) && \
+        patch -p1 < ../$(RTEMS_PATCHES_DIR)/$(GDB_PATCH)
        touch $@
 
 .unzip.ok: $(DL)/$(BINUTILS).ok $(DL)/$(GCC_CORE).ok $(DL)/$(NEWLIB).ok 
$(DL)/$(GDB).ok $(DL)/$(MPFR).ok $(DL)/$(MPC).ok $(DL)/$(GMP).ok
@@ -113,15 +116,15 @@ gcc-$(GCC_CORE_VERSION)/newlib: .unzip.ok
        touch $@
 
 .install.gdb.ok: .compile.gdb.ok
-       (cd b-gdb && make install)
+       $(MAKE) -C b-gdb install
        touch $@
 
 .compile.gdb.ok: .install.binutils.ok .patch.ok
        export PATH=$(RTEMS_PREFIX)/bin:$$PATH
        mkdir -p b-gdb
-       (cd b-gdb/ && ../gdb-$(GDB_VERSION)/configure --target=lm32-rtems4.11 \
-         --prefix=$(RTEMS_PREFIX) && \
-        make all)
+       cd b-gdb/ && ../gdb-$(GDB_VERSION)/configure --target=lm32-rtems4.11 \
+         --prefix=$(RTEMS_PREFIX)
+       $(MAKE) -C b-gdb all
        touch $@
 
 $(RTEMS_PATCHES_DIR)/.ok:
@@ -185,3 +188,8 @@ clean:
        rm -rf mpfr-$(MPFR_VERSION)
        rm -f .*.ok
        rm -f .ok
+
+# disable parallel execution of targets in this top-level Makefile.  Makefiles
+# invoked via $(MAKE) still run parallel if -j was passed to the top-level
+# Makefile.
+.NOTPARALLEL:
-- 
1.7.2.5

Attachment: pgpMe9YbEYFCc.pgp
Description: PGP signature

_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode

Reply via email to