summaryrefslogtreecommitdiff
path: root/config/mpw/MoveIfChange
diff options
context:
space:
mode:
authorNo Author <no-author@gcc.gnu.org>1997-08-21 22:58:49 +0000
committerNo Author <no-author@gcc.gnu.org>1997-08-21 22:58:49 +0000
commit9d67cee02262346526bb25cbcf54750ebf134ecb (patch)
treeb5402095de45a8d16fd7dd80a4fa06b7f02a0bda /config/mpw/MoveIfChange
parent2f08086dbba6a317202d4655c14984f55c84e1b0 (diff)
This commit was manufactured by cvs2svn to create tag 'start'.misc/start
From-SVN: r14881
Diffstat (limited to 'config/mpw/MoveIfChange')
-rw-r--r--config/mpw/MoveIfChange19
1 files changed, 19 insertions, 0 deletions
diff --git a/config/mpw/MoveIfChange b/config/mpw/MoveIfChange
new file mode 100644
index 00000000000..0dbc12582f5
--- /dev/null
+++ b/config/mpw/MoveIfChange
@@ -0,0 +1,19 @@
+# Rename a file only if it is different from a previously existing
+# file of the same name. This is useful for keeping make from doing
+# too much work if the contents of a file haven't changed.
+
+# This is an MPW translation of the standard GNU sh script move-if-change.
+
+Set exit 0
+
+If "`exists -f "{2}"`"
+ Compare "{1}" "{2}" >dev:null
+ If {status} != 0
+ Rename -y "{1}" "{2}"
+ Else
+ Echo "{2}" is unchanged
+ Delete -i -y "{1}"
+ End
+Else
+ Rename -y "{1}" "{2}"
+End