From 42e5a9b95768990d55a44628a1faa1f7a3d0ab31 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <ian@wasabisystems.com>
Date: Wed, 28 Jan 2004 18:24:11 +0000
Subject: [PATCH] Make-lang.in (f/str-*.h, f/str-*.j): Use stamp files and
 move-if-change to avoid changing these files unnecessarily.

	* Make-lang.in (f/str-*.h, f/str-*.j): Use stamp files and
	move-if-change to avoid changing these files unnecessarily.

From-SVN: r76800
---
 gcc/f/ChangeLog    |  5 ++++
 gcc/f/Make-lang.in | 70 ++++++++++++++++++++++++++++++++--------------
 2 files changed, 54 insertions(+), 21 deletions(-)

diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 26d61219b032..ccd47dbc8bc7 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
 
 	* Make-lang.in: Replace $(docdir) with doc.
diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in
index a3f1fc01cfaa..b384b71afdc7 100644
--- a/gcc/f/Make-lang.in
+++ b/gcc/f/Make-lang.in
@@ -103,26 +103,54 @@ f/stamp-str: f/str-1t.h f/str-1t.j f/str-2t.h f/str-2t.j \
  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
-- 
GitLab