Make -j* switch not used in v3 32 bit multilib dir?
Andreas Schwab
schwab@suse.de
Thu Jul 15 23:44:00 GMT 2004
Jim Wilson <wilson@specifixinc.com> writes:
> The rules in question are from automake unfortunately. They are the rules
> that invoke MULTIDO and MULTICLEAN. So in order to fix this, I first
> needed to patch automake to add the +, and then I needed to run automake
> in every directory affected by this problem.
This has been fixed in automake CVS some time ago. Maybe the fix will be
carried over to the 1.8 release branch.
> I am not sure about whether the automake change is desirable. GCC
> requires GNU make now, so there is no portability issue, but this might be
> a problem for other automake users if the + is not portable make. I don't
> know offhand. Perhaps there are other ways to fix this that avoid
> questions about makefile portability.
This is the change that has been added to automake:
2004-05-23 Alexandre Duret-Lutz <adl@gnu.org>
* lib/am/multilib.am: Add $(MAKE) comments to multido and
multiclean lines, to enable parallel make. Based on a patch
by Alexandre Oliva applied to newlib on 2003-10-15.
Index: lib/am/multilib.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/multilib.am,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -a -u -p -a -r1.7 -r1.8
--- lib/am/multilib.am 23 Jul 2003 21:04:16 -0000 1.7
+++ lib/am/multilib.am 23 May 2004 09:49:13 -0000 1.8
@@ -1,5 +1,5 @@
## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1998, 2001, 2003 Free Software Foundation, Inc.
+## Copyright (C) 1998, 2001, 2003, 2004 Free Software Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -23,22 +23,26 @@ MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
+# GNU Make needs to see an explicit $(MAKE) variable in the command it
+# runs to enable its job server during parallel builds. Hence the
+# comments below.
+
all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
.PHONY: all-multi install-multi
mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
.PHONY: mostlyclean-multi clean-multi distclean-multi maintainer-clean-multi
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, MaxfeldstraÃe 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Libstdc++
mailing list