This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Add stamp files for f/str-*
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: gcc-patches at gcc dot gnu dot org, fortran at gcc dot gnu dot org
- Date: 28 Jan 2004 13:08:22 -0500
- Subject: Add stamp files for f/str-*
I find it a bit tedious that when I modify libiberty, several parts of
the Fortran compiler are rebuilt. This happens because fini depends
upon libiberty, and str-*.[hj] depend upon fini.
This patch fixes that by using stamp files for f/str-*.[hj].
Note that we don't have to add the new files to f77.mostlyclean
because the top level mostlyclean target already deletes */stamp-*.
OK for mainline?
Ian
2004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
* Make-lang.in (f/str-*.h, f/str-*.j): Use stamp files and
move-if-change to avoid changing these files unnecessarily.
Index: f/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/f/Make-lang.in,v
retrieving revision 1.140
diff -p -u -r1.140 Make-lang.in
--- f/Make-lang.in 21 Jan 2004 02:01:45 -0000 1.140
+++ f/Make-lang.in 28 Jan 2004 17:52:06 -0000
@@ -103,26 +103,54 @@ f/stamp-str: f/str-1t.h f/str-1t.j f/str
f/str-op.h f/str-op.j f/str-ot.h f/str-ot.j
$(STAMP) f/stamp-str
-f/str-1t.h f/str-1t.j: f/fini$(build_exeext) f/str-1t.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/str-1t.j f/str-1t.h
-
-f/str-2t.h f/str-2t.j: f/fini$(build_exeext) f/str-2t.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-2t.fin f/str-2t.j f/str-2t.h
-
-f/str-fo.h f/str-fo.j: f/fini$(build_exeext) f/str-fo.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-fo.fin f/str-fo.j f/str-fo.h
-
-f/str-io.h f/str-io.j: f/fini$(build_exeext) f/str-io.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-io.fin f/str-io.j f/str-io.h
-
-f/str-nq.h f/str-nq.j: f/fini$(build_exeext) f/str-nq.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-nq.fin f/str-nq.j f/str-nq.h
-
-f/str-op.h f/str-op.j: f/fini$(build_exeext) f/str-op.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-op.fin f/str-op.j f/str-op.h
-
-f/str-ot.h f/str-ot.j: f/fini$(build_exeext) f/str-ot.fin
- ./f/fini$(build_exeext) $(srcdir)/f/str-ot.fin f/str-ot.j f/str-ot.h
+f/str-1t.h f/str-1t.j: f/stamp-1t ; @true
+f/stamp-1t: f/fini$(build_exeext) f/str-1t.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/tmp-str-1t.j f/tmp-str-1t.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-1t.j f/str-1t.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-1t.h f/str-1t.h
+ $(STAMP) f/stamp-1t
+
+f/str-2t.h f/str-2t.j: f/stamp-2t ; @true
+f/stamp-2t: f/fini$(build_exeext) f/str-2t.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-2t.fin f/tmp-str-2t.j f/tmp-str-2t.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-2t.j f/str-2t.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-2t.h f/str-2t.h
+ $(STAMP) f/stamp-2t
+
+f/str-fo.h f/str-fo.j: f/stamp-fo ; @true
+f/stamp-fo: f/fini$(build_exeext) f/str-fo.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-fo.fin f/tmp-str-fo.j f/tmp-str-fo.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-fo.j f/str-fo.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-fo.h f/str-fo.h
+ $(STAMP) f/stamp-fo
+
+f/str-io.h f/str-io.j: f/stamp-io ; @true
+f/stamp-io: f/fini$(build_exeext) f/str-io.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-io.fin f/tmp-str-io.j f/tmp-str-io.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-io.j f/str-io.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-io.h f/str-io.h
+ $(STAMP) f/stamp-io
+
+f/str-nq.h f/str-nq.j: f/stamp-nq ; @true
+f/stamp-nq: f/fini$(build_exeext) f/str-nq.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-nq.fin f/tmp-str-nq.j f/tmp-str-nq.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-nq.j f/str-nq.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-nq.h f/str-nq.h
+ $(STAMP) f/stamp-nq
+
+f/str-op.h f/str-op.j: f/stamp-op ; @true
+f/stamp-op: f/fini$(build_exeext) f/str-op.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-op.fin f/tmp-str-op.j f/tmp-str-op.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-op.j f/str-op.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-op.h f/str-op.h
+ $(STAMP) f/stamp-op
+
+f/str-ot.h f/str-ot.j: f/stamp-ot ; @true
+f/stamp-ot: f/fini$(build_exeext) f/str-ot.fin
+ ./f/fini$(build_exeext) $(srcdir)/f/str-ot.fin f/tmp-str-ot.j f/tmp-str-ot.h
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-ot.j f/str-ot.j
+ $(SHELL) $(srcdir)/move-if-change f/tmp-str-ot.h f/str-ot.h
+ $(STAMP) f/stamp-ot
f/fini$(build_exeext): f/fini.o $(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o f/fini$(build_exeext) \
@@ -304,7 +332,7 @@ f77.maintainer-clean:
# Stage hooks:
# The main makefile has already created stage?/f.
-G77STAGESTUFF = f/*$(objext) f/fini$(build_exeext) f/stamp-str \
+G77STAGESTUFF = f/*$(objext) f/fini$(build_exeext) f/stamp-* \
f/str-*.h f/str-*.j g77spec.o
f77.stage1: stage1-start