This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make -j* switch not used in v3 32 bit multilib dir?


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."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]