On Thu, Sep 17, 2009 at 11:10:48AM -0700, David Anderson wrote:

> - "make" at the top level rebuilds everything in sched/,
>    even if it's up to date.

svn_version.h is always rewritten, and sched/ depends on that.

diff --git a/generate_svn_version.sh b/generate_svn_version.sh
index c6ecb88..b90f9bc 100644
--- a/generate_svn_version.sh
+++ b/generate_svn_version.sh
@@ -1,8 +1,11 @@
 #!/usr/bin/env sh
 
-echo "#ifndef SVN_VERSION_H" > svn_version.h
-echo "#define SVN_VERSION_H" >> svn_version.h
-echo "" >> svn_version.h
+HEADER="svn_version.h"
+TMPFILE="$HEADER.tmp"
+
+echo "#ifndef SVN_VERSION_H" > $TMPFILE
+echo "#define SVN_VERSION_H" >> $TMPFILE
+echo "" >> $TMPFILE
 
 if [ -d .git ]; then
     CMD="git svn info"
@@ -17,11 +20,17 @@ if [ "x$CMD" != "x" ]; then
                 /^Rev/ { rev = $2; }; \
                 END { print "#define SVN_VERSION \"Repository: " url \
                             " Revision: " rev "\""; };' \
-               >> svn_version.h
+               >> $TMPFILE
 else
-    echo "#include \"version.h\"" >> svn_version.h
-    echo "#define SVN_VERSION BOINC_VERSION_STRING" >> svn_version.h
+    echo "#include \"version.h\"" >> $TMPFILE
+    echo "#define SVN_VERSION BOINC_VERSION_STRING" >> $TMPFILE
 fi
 
-echo "" >> svn_version.h
-echo "#endif" >> svn_version.h
+echo "" >> $TMPFILE
+echo "#endif" >> $TMPFILE
+
+if cmp "$HEADER" "$TMPFILE" >/dev/null 2>&1; then
+       rm -f "$TMPFILE"
+else
+       mv "$TMPFILE" "$HEADER"
+fi

-- 
     ---------------------------------------------------------
     MTA SZTAKI Computer and Automation Research Institute
                Hungarian Academy of Sciences
     ---------------------------------------------------------
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to