* Re: parallel builds
@ 1997-08-17 21:55 David S. Miller
0 siblings, 0 replies; 3+ messages in thread
From: David S. Miller @ 1997-08-17 21:55 UTC (permalink / raw)
To: egcs
From: hjl@lucon.org (H.J. Lu)
Date: Sun, 17 Aug 1997 09:55:31 -0700 (PDT)
Here is my patch. I can finish my 3-stage bootstap in 10:30
minutes.
Thanks, it works well for me as well.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: parallel builds
@ 1997-08-17 16:44 H.J. Lu
0 siblings, 0 replies; 3+ messages in thread
From: H.J. Lu @ 1997-08-17 16:44 UTC (permalink / raw)
To: egcs
>
>
> There seems to be a dependency miss still when doing parallel builds
> of the egcs snapshots. Is anyone else playing with this or could
> suggest a fix?
>
Here is my patch. I can finish my 3-stage bootstap in 10:30 minutes.
--
H.J. Lu (hjl@gnu.ai.mit.edu)
---
Sat Aug 16 16:39:33 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* Make-lang.in ($(srcdir)/f/runtime/configure,
$(srcdir)/f/runtime/libU77/configure, f77.mostlyclean,
f77.clean, f77.distclean, f77.maintainer-clean, f77.realclean):
Handle absolute pathname of $(srcdir).
(stmp-f2c.h): New.
(include/f2c.h, f/runtime/Makefile, f/runtime/libF77/Makefile,
f/runtime/libI77/Makefile, f/runtime/libU77/Makefile): Only
depend on stmp-f2c.h.
(f77.maintainer-clean): Don't make itself.
Index: f/Make-lang.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/f/Make-lang.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Make-lang.in
--- Make-lang.in 1997/08/16 03:49:02 1.1.1.1
+++ Make-lang.in 1997/08/17 15:19:29
@@ -264,11 +264,7 @@
# configure, not a Cygnus-type one. It needs to be run *after* the
# appropriate (cross-)compiler has been built, thus depend on GCC_PARTS.
# NB, sh uses the *first* value of $a from `a=fred a=joe prog'.
-include/f2c.h \
-f/runtime/Makefile \
-f/runtime/libF77/Makefile \
-f/runtime/libI77/Makefile \
-f/runtime/libU77/Makefile: \
+stmp-f2c.h: \
$(srcdir)/f/runtime/f2c.h.in \
$(srcdir)/f/com.h $(srcdir)/f/proj.h \
$(srcdir)/f/runtime/Makefile.in \
@@ -279,6 +275,7 @@
$(srcdir)/f/runtime/libU77/configure \
$(GCC_PARTS)
# The make "stage?" in compiler spec. is fully qualified as above
+ rm -f stmp-f2c.h
top=`pwd`; \
src=`cd $(srcdir); pwd`; \
cd f/runtime; \
@@ -295,6 +292,14 @@
*) echo '$(GCC_FOR_TARGET)';; esac`" \
$(F77_FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) \
$${src}/f/runtime/libU77/configure --srcdir=$${src}/f/runtime/libU77
+ touch stmp-f2c.h
+
+# Support parallel build.
+include/f2c.h \
+f/runtime/Makefile \
+f/runtime/libF77/Makefile \
+f/runtime/libI77/Makefile \
+f/runtime/libU77/Makefile: stmp-f2c.h
#For now, omit f2c stuff. -- burley
#f2c: stmp-headers f/f2c/Makefile
@@ -343,10 +348,15 @@
--no-validate news0.texi -o NEWS
$(srcdir)/f/runtime/configure: $(srcdir)/f/runtime/configure.in
- cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt
+ case $(srcdir) in \
+ /*) cd f/runtime && $(MAKE) srcdir=$(srcdir)/f/runtime -f $(srcdir)/f/runtime/Makefile.in rebuilt;; \
+ *) cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt;; \
+ esac
$(srcdir)/f/runtime/libU77/configure: $(srcdir)/f/runtime/libU77/configure.in
- cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt
-
+ case $(srcdir) in \
+ /*) cd f/runtime && $(MAKE) srcdir=$(srcdir)/f/runtime -f $(srcdir)/f/runtime/Makefile.in rebuilt;; \
+ *) cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt;; \
+ esac
f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \
$(srcdir)/f/NEWS $(srcdir)/f/runtime/configure \
$(srcdir)/f/runtime/libU77/configure
@@ -487,11 +497,20 @@
f77.mostlyclean:
-rm -f f/*$(objext)
-rm -f f/fini f/f771 f/stamp-str f/str-*.h f/str-*.j f/intdoc
- -cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in mostlyclean
+ -case $(srcdir) in \
+ /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in mostlyclean;; \
+ *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in mostlyclean;; \
+ esac
f77.clean:
- -cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in clean
+ -case $(srcdir) in \
+ /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in clean;; \
+ *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in clean;; \
+ esac
f77.distclean:
- -cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in distclean
+ -case $(srcdir) in \
+ /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in distclean;; \
+ *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in distclean;; \
+ esac
-rm -f f/Makefile
# like gcc's extraclean, which does clean f/ for us, but not f/gbe,
# f/runtime, f/runtime/libF77, f/runtime/libI77, and f/runtime/libU77,
@@ -509,8 +528,10 @@
-rm -f f/*/*/*lose f/*/*/*.s f/*/*/*.s[0-9] f/*/*/*.i
# realclean is the pre-2.7.0 name for maintainer-clean
f77.maintainer-clean f77.realclean: f77.distclean
- -cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in maintainer-clean
- -$(MAKE) f77.maintainer-clean
+ -case $(srcdir) in \
+ /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in maintainer-clean;; \
+ *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in maintainer-clean;; \
+ esac
-rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/INSTALL f/NEWS f/intdoc.texi
# Stage hooks:
# The main makefile has already created stage?/f.
Sat Aug 16 16:39:33 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* Makefile.in (mostlyclean, clean): Check if Makefile exists
before using it. Remove stamp-*.
(stamp-libi77, stamp-libf77, stamp-libu77): New.
(stamp-lib): Only depend on stamp-libi77 stamp-libf77
stamp-libu77
Index: f/runtime/Makefile.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/f/runtime/Makefile.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile.in
--- Makefile.in 1997/08/16 03:49:07 1.1.1.1
+++ Makefile.in 1997/08/17 15:52:21
@@ -168,12 +168,12 @@
RANLIB_TEST="$(RANLIB_TEST)" \
SHELL="$(SHELL)"
-all: ../../include/f2c.h libi77 libf77 libu77 $(lib)
+all: ../../include/f2c.h $(lib)
$(lib): stamp-lib ; @true
-stamp-lib: $(FOBJ) $(IOBJ) $(UOBJ)
+stamp-lib: stamp-libf77 stamp-libi77 stamp-libu77
rm -f stamp-lib
- $(AR) $(AR_FLAGS) $(lib) $?
+ $(AR) $(AR_FLAGS) $(lib) $(FOBJ) $(IOBJ) $(UOBJ)
for name in $(F2CEXT); \
do \
echo $${name}; \
@@ -188,26 +188,32 @@
else true; fi
touch stamp-lib
-libi77: libI77/Makefile
+stamp-libi77: libI77/Makefile
+ rm -f stamp-libi77
if test "$(CROSS)"; then \
cd libI77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \
else \
cd libI77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \
fi
+ touch stamp-libi77
-libf77: libF77/Makefile
+stamp-libf77: libF77/Makefile
+ rm -f stamp-libf77
if test "$(CROSS)"; then \
cd libF77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \
else \
cd libF77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \
fi
+ touch stamp-libf77
-libu77: libU77/Makefile
+stamp-libu77: libU77/Makefile
+ rm -f stamp-libu77
if test "$(CROSS)"; then \
cd libU77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \
else \
cd libU77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \
fi
+ touch stamp-libu77
${srcdir}/configure: ${srcdir}/configure.in
rm -f config.cache && cd ${srcdir} && autoconf && rm -f config.cache
@@ -230,11 +236,20 @@
# cd libU77; $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status --recheck
mostlyclean:
- for i in libI77 libF77 libU77; do cd $$i; $(MAKE) -f Makefile mostlyclean; cd ..; done
+ -rm -f stamp-*
+ for i in libI77 libF77 libU77; do \
+ if [ -f $$i/Makefile ]; then \
+ cd $$i; $(MAKE) -f Makefile mostlyclean; cd ..; \
+ fi; \
+ done
clean:
- -rm -f config.log config.cache
- for i in libI77 libF77 libU77; do cd $$i; $(MAKE) -f Makefile clean; cd ..; done
+ -rm -f config.log config.cache stamp-*
+ for i in libI77 libF77 libU77; do \
+ if [ -f $$i/Makefile ]; then \
+ cd $$i; $(MAKE) -f Makefile clean; cd ..; \
+ fi; \
+ done
distclean: clean
-rm -f Makefile lib?77/Makefile config.status libU77/config.status ../../include/f2c.h
Sat Aug 16 16:39:33 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
Sat Jun 28 09:32:41 1997 Jim Meyering <meyering@@eng.ascend.com>
* objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
Index: objc/Make-lang.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/objc/Make-lang.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Make-lang.in
--- Make-lang.in 1997/08/16 03:49:09 1.1.1.1
+++ Make-lang.in 1997/08/17 00:15:42
@@ -176,6 +176,8 @@
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) \
-c $(srcdir)/objc/libobjc_entry.c -o $@
+$(OBJC_O): $(GCC_PASSES) cc1obj
+
# Build the Objective C runtime library.
libobjc.a: cc1obj specs stmp-int-hdrs libgcc2.ready \
$(USE_COLLECT2) $(EXTRA_PARTS) $(OBJC_O)
^ permalink raw reply [flat|nested] 3+ messages in thread
* parallel builds
@ 1997-08-16 4:00 David S. Miller
0 siblings, 0 replies; 3+ messages in thread
From: David S. Miller @ 1997-08-16 4:00 UTC (permalink / raw)
To: egcs
There seems to be a dependency miss still when doing parallel builds
of the egcs snapshots. Is anyone else playing with this or could
suggest a fix?
Later,
David "Sparc" Miller
davem@caip.rutgers.edu
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~1997-08-17 21:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-17 21:55 parallel builds David S. Miller
-- strict thread matches above, loose matches on Subject: below --
1997-08-17 16:44 H.J. Lu
1997-08-16 4:00 David S. Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).