Description: Enable parallel make
 Restore ability to build things in parallel.
 (${MAKE} must always appear in the rule directly, and not be
 hidden through expansions of other variables to get this to work.)
Forward: pending
Author: Jan Engelhardt <jengelh@medozas.de>
Last-Update: 2012-01-26 22:29:13.993994227 +0100

---
 nx-X11/Makefile                       |   64 +++++++++++++++++-----------------
 nx-X11/config/imake/Makefile.ini      |    1 
 nx-X11/extras/Mesa/Makefile           |    2 -
 nx-X11/extras/Xpm/Makefile.noX        |    1 
 nx-X11/extras/drm/linux-core/Makefile |    4 +-
 nx-X11/extras/drm/linux/Makefile      |    4 +-
 nx-X11/extras/ttf2pt1/Makefile        |    4 +-
 nx-X11/lib/X11/Imakefile              |   12 ++----
 nx-X11/lib/X11/Imakefile.NX.original  |   12 ++----
 nx-X11/programs/Xserver/Imakefile     |    4 +-
 10 files changed, 60 insertions(+), 69 deletions(-)

--- a/nx-X11/Makefile
+++ b/nx-X11/Makefile
@@ -32,8 +32,8 @@ VERSSRC = $(CONFIGSRC)/util/printver.c
 VERSPROG = $(CONFIGSRC)/util/printver.exe
 
 all:
-	@$(MAKE_CMD) xmakefile-exists || $(MAKE) all-initial
-	@$(MAKE_CMD) $@
+	@${MAKE} ${MAKE_OPTS} xmakefile-exists || $(MAKE) all-initial
+	@${MAKE} ${MAKE_OPTS} $@
 
 all-initial:
 	@echo Please use make World, or on NT use nmake World.Win32.
@@ -57,8 +57,8 @@ World:
 	@date
 	@echo ""
 	@if [ -f xmakefile ]; then \
-	    $(MAKE_CMD) -k distclean || \
-	    $(MAKE_CMD) -k clean || \
+	    ${MAKE} ${MAKE_OPTS} -k distclean || \
+	    ${MAKE} ${MAKE_OPTS} -k clean || \
 	    $(RM) xmakefile; \
 	fi
 	@if [ ! -f $(IRULESRC)/host.def ]; then \
@@ -84,14 +84,14 @@ World:
 #	fi
 	cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
 	$(MAKE) $(MFLAGS) Makefile.boot
-	$(MAKE_CMD) $(MFLAGS) version.def
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) version.def
 	$(MAKE) $(MFLAGS) Makefile.boot
-	$(MAKE_CMD) $(MFLAGS) VerifyOS
-	$(MAKE_CMD) $(MFLAGS) Makefiles
-	$(MAKE_CMD) $(MFLAGS) BOOTSTRAPSUBDIRS= clean
-	$(MAKE_CMD) $(MFLAGS) includes
-	$(MAKE_CMD) $(MFLAGS) depend
-	$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) World
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) VerifyOS
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) Makefiles
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) BOOTSTRAPSUBDIRS= clean
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) includes
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) depend
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) $(WORLDOPTS) World
 	@echo ""
 	@date
 	@echo ""
@@ -154,15 +154,15 @@ World.Win32:
 	-if exist xmakefile.bak del xmakefile.bak
 	-if exist xmakefile ren xmakefile xmakefile.bak
 	$(IMAKE:/=\) -s xmakefile -I$(IRULESRC) $(IMAKE_DEFINES) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
-	$(MAKE_CMD) $(MFLAGS) VerifyOS
-	$(MAKE_CMD) $(MFLAGS) Makefiles
-	$(MAKE_CMD) $(MFLAGS) clean
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) VerifyOS
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) Makefiles
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) clean
 	cd $(CONFIGSRC)\util
 	$(MAKE) mkdirhier.exe
 	cd ..\..
-	$(MAKE_CMD) $(MFLAGS) includes
-	$(MAKE_CMD) $(MFLAGS) depend
-	$(MAKE_CMD) $(MFLAGS) $(WIN32WORLDOPTS)
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) includes
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) depend
+	${MAKE} ${MAKE_OPTS} $(MFLAGS) $(WIN32WORLDOPTS)
 	@echo :
 	@echo :
 	@echo Full build of $(RELEASE) complete.
@@ -198,38 +198,38 @@ World.OS2:
 # a copy of every rule that might be invoked at top level
 
 clean:
-	    -$(MAKE_CMD) $@
+	    -${MAKE_CMD} ${MAKE_OPTS} $@
 	    find config -type f | egrep '.*/Makefile$$' | while read makefile; do rm -f $$makefile; done
 	    find lib -type f | egrep '.*/Makefile$$' | while read makefile; do rm -f $$makefile; done
 	    find programs -type f | egrep '.*/Makefile$$' | while read makefile; do rm -f $$makefile; done
 	    find include -type f | egrep '.*/Makefile$$' | while read makefile; do rm -f $$makefile; done
 	    rm -f config/cf/{version.def,date.def}
 dangerous_strip_clean:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 distclean:
-	    -$(MAKE_CMD) $@
+	    -${MAKE} ${MAKE_OPTS} $@
 	    $(RM) xmakefile $(IRULESRC)/version.def $(IRULESRC)/date.def
 depend:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 Everything:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 external.ln:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 includes:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 install.sdk:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 install.ln:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 install.man:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 install:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 Makefiles:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 man_keywords:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 tags:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
 VerifyOS:
-	    $(MAKE_CMD) $@
+	    ${MAKE} ${MAKE_OPTS} $@
--- a/nx-X11/config/imake/Makefile.ini
+++ b/nx-X11/config/imake/Makefile.ini
@@ -21,7 +21,6 @@ IMAKEMDEP_CROSSCOMPILE = -DCROSSCOMPILE_
 SHELL = /bin/sh
 RM = rm -f
 MV = mv
-MAKE = make
 RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a \
 	 tags TAGS make.log
 NPROC = 1
--- a/nx-X11/extras/Mesa/Makefile
+++ b/nx-X11/extras/Mesa/Makefile
@@ -12,7 +12,7 @@ default: $(TOP)/configs/current
 
 
 doxygen:
-	(cd doxygen ; make) ; \
+	(cd doxygen ; ${MAKE}) ; \
 
 clean:
 	@for dir in $(SUBDIRS) ; do \
--- a/nx-X11/extras/Xpm/Makefile.noX
+++ b/nx-X11/extras/Xpm/Makefile.noX
@@ -32,7 +32,6 @@
 
 SUBDIRS= lib sxpm cxpm
 
-MAKE=make
 MFLAGS=-f Makefile.noX
 INSTALL= install -c
 CURRENT_DIR=.
--- a/nx-X11/extras/drm/linux-core/Makefile
+++ b/nx-X11/extras/drm/linux-core/Makefile
@@ -176,7 +176,7 @@ endif
 all: modules
 
 modules: includes
-	make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
+	${MAKE} -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
 
 ifeq ($(HEADERFROMBOOT),1)
 
@@ -246,7 +246,7 @@ clean cleandir:
 	rm -rf $(CLEANFILES)
 
 $(MODULE_LIST)::
-	make DRM_MODULES=$@ modules
+	${MAKE} DRM_MODULES=$@ modules
 
 # Build test utilities
 
--- a/nx-X11/extras/drm/linux/Makefile
+++ b/nx-X11/extras/drm/linux/Makefile
@@ -184,7 +184,7 @@ endif
 all: modules
 
 modules: includes
-	make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
+	${MAKE} -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
 
 ifeq ($(HEADERFROMBOOT),1)
 
@@ -254,7 +254,7 @@ clean cleandir:
 	rm -rf $(CLEANFILES)
 
 $(MODULE_LIST)::
-	make DRM_MODULES=$@ modules
+	${MAKE} DRM_MODULES=$@ modules
 
 # Build test utilities
 
--- a/nx-X11/extras/ttf2pt1/Makefile
+++ b/nx-X11/extras/ttf2pt1/Makefile
@@ -158,8 +158,8 @@ mans: $(MANS)
 
 clean:
 	rm -f t1asm ttf2pt1 *.o app/RPM/Makefile app/RPM/*.spec *.core core.* core
-	( cd other && make clean; )
-	( cd app/netscape && make clean; )
+	( cd other && ${MAKE} clean; )
+	( cd app/netscape && ${MAKE} clean; )
 
 veryclean: clean
 	rm -f $(DOCS) $(MANS)
--- a/nx-X11/lib/X11/Imakefile
+++ b/nx-X11/lib/X11/Imakefile
@@ -1161,25 +1161,23 @@ $(NX_XCOMPEXTCONFIGTARGET):
 
 #ifdef SunArchitecture
 $(NX_XCOMPLIBTARGET): $(NX_XCOMPCONFIGTARGET)
-	cd $(NX_XCOMPLIBDIR) && \
-	gmake
+	${MAKE} -C $(NX_XCOMPLIBDIR)
 
 $(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET)
-	cd ../../../nxcompext && \
-	gmake
+	${MAKE} -C ../../../nxcompext
 
 #else
 $(NX_XCOMPLIBTARGET): $(NX_XCOMPCONFIGTARGET)
-	cd $(NX_XCOMPLIBDIR) && \
-	make
+	${MAKE} -C $(NX_XCOMPLIBDIR)
 
-$(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET)
-	cd ../../../nxcompext && \
-	make
+$(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET) $(NX_XCOMPLIBTARGET) lib$(LIBNAME).so.$(SOXLIBREV)
+	${MAKE} -C ../../../nxcompext
 
 #endif
 
-depend:: $(NX_XCOMPLIBTARGET)
+depend::
+
+lib$(LIBNAME).so.$(SOXLIBREV): $(NX_XCOMPLIBTARGET)
 
 all:: $(NX_XCOMPLIBTARGET)
 
--- a/nx-X11/lib/X11/Imakefile.NX.original
+++ b/nx-X11/lib/X11/Imakefile.NX.original
@@ -1159,21 +1159,17 @@ $(NX_XCOMPEXTCONFIGTARGET):
 
 #ifdef SunArchitecture
 $(NX_XCOMPLIBTARGET): $(NX_XCOMPCONFIGTARGET)
-	cd $(NX_XCOMPLIBDIR) && \
-	gmake
+	${MAKE} -C $(NX_XCOMPLIBDIR)
 
 $(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET)
-	cd ../../../nxcompext && \
-	gmake
+	${MAKE} -C ../../../nxcompext
 
 #else
 $(NX_XCOMPLIBTARGET): $(NX_XCOMPCONFIGTARGET)
-	cd $(NX_XCOMPLIBDIR) && \
-	make
+	${MAKE} -C $(NX_XCOMPLIBDIR)
 
 $(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET)
-	cd ../../../nxcompext && \
-	make
+	${MAKE} -C ../../../nxcompext
 
 #endif
 
--- a/nx-X11/programs/Xserver/Imakefile
+++ b/nx-X11/programs/Xserver/Imakefile
@@ -1045,11 +1045,11 @@ $(NX_XSHADOWCONFIGTARGET):
 #ifdef SunArchitecture
 $(NX_XSHADOWLIBTARGET): $(NX_XSHADOWCONFIGTARGET)
 	cd $(NX_XSHADOWLIBDIR) && \
-	gmake
+	${MAKE}
 #else
 $(NX_XSHADOWLIBTARGET): $(NX_XSHADOWCONFIGTARGET)
 	cd $(NX_XSHADOWLIBDIR) && \
-	rm -f *.o && make
+	rm -f *.o && ${MAKE}
 #endif
 
 ServerTarget(nxagent,$(NX_XSHADOWLIBTARGET) $(NXAGENTDIRS),$(NXAGENTOBJS), \