H.J. Lu's SMP patch.
authorJim Wilson <wilson@gcc.gnu.org>
Tue, 26 Aug 1997 06:36:27 +0000 (23:36 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 26 Aug 1997 06:36:27 +0000 (23:36 -0700)
From-SVN: r14924

gcc/ChangeLog
gcc/f/ChangeLog.egcs
gcc/f/Make-lang.in
gcc/f/runtime/ChangeLog.egcs
gcc/f/runtime/Makefile.in
gcc/objc/Make-lang.in

index 4b9c91f996c94e582d418c62d143cb5122939bb0..7f73e555698cba8b2e0259d384290e56407e8a9f 100644 (file)
@@ -1,3 +1,11 @@
+Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+       * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
+
+Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
+
+       * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
+
 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
 
        * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
index 7a3e32f493e5cbe1b42ee991bcb6d94497069584..62de9d5ad2ec8af1a967788b80b5dca77890f79f 100644 (file)
@@ -1,3 +1,15 @@
+Mon Aug 25 23:24:32 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.
+
 Sun Aug 24 17:00:27 1997  Jim Wilson  <wilson@cygnus.com>
 
        * Make-lang.in (f77.install-info): Don't cd into srcdir.  Add srcdir
index 7c69383bbca7bd277370964e8dca43a0180d02a7..f0cee37e6b0a1081a114794f3b40b2ced70b36bd 100644 (file)
@@ -264,11 +264,7 @@ f77-runtime-unsafe:
 # 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 @@ f/runtime/libU77/Makefile: \
   $(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 @@ f/runtime/libU77/Makefile: \
             *) 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
@@ -346,10 +351,15 @@ $(srcdir)/f/NEWS: f/news0.texi f/news.texi
          --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
@@ -494,11 +504,20 @@ f77.uninstall:
 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,
@@ -516,8 +535,10 @@ f77.extraclean: f77.distclean
        -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.
index eeba298b10967464f01f0b712cca4977126a4b22..fbfc0f962ca96fe46d63e2d8d6f9a8cef8bf422a 100644 (file)
@@ -1,3 +1,11 @@
+Mon Aug 25 23:26:05 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
+
 Mon Aug 25 01:40:01 1997  Jim Wilson  (wilson@cygnus.com)
 
        * configure.in: Always make sure RANLIB_TEST is set.
index e6b5e2bcca90034d0c34d4d11e2305d61282ae50..6c4ea100332f749362a55ed9b00711ef97600e37 100644 (file)
@@ -169,12 +169,12 @@ CROSS_FLAGS_TO_PASS = \
        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}; \
@@ -189,26 +189,32 @@ stamp-lib: $(FOBJ) $(IOBJ) $(UOBJ)
          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
@@ -231,11 +237,20 @@ libU77/Makefile: $(srcdir)/libU77/Makefile.in
 #      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
index abda448dc5d7f0d25485fb2fc54b8787dca0410f..d3001edb732e1c6377fe9999775eacd0c61c4ff2 100644 (file)
@@ -176,6 +176,8 @@ $(srcdir)/objc/libobjc_entry.o: $(srcdir)/objc/libobjc_entry.c
        $(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)