This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Make -j* switch not used in v3 32 bit multilib dir?
- From: Andreas Schwab <schwab at suse dot de>
- To: Jim Wilson <wilson at specifixinc dot com>
- Cc: Paolo Carlini <pcarlini at suse dot de>,libstdc++ <libstdc++ at gcc dot gnu dot org>, gcc at gcc dot gnu dot org
- Date: Fri, 16 Jul 2004 01:42:10 +0200
- Subject: Re: Make -j* switch not used in v3 32 bit multilib dir?
- References: <40EAA60C.4000905@suse.de> <40F70649.5090200@specifixinc.com>
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."