From 1b2010faba984cf499ac98a08216720f9288cd39 Mon Sep 17 00:00:00 2001 From: mdiluzio Date: Sat, 10 Jan 2015 15:11:36 +0000 Subject: [PATCH] Use some version checking on generator scripts, preventing a full rebuild on every build --- scripts/gen_manpage.sh | 16 ++++++++++++---- scripts/gen_usage.sh | 10 +++++++++- scripts/gen_version_header.sh | 7 ++++++- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/scripts/gen_manpage.sh b/scripts/gen_manpage.sh index 57ad57c..aed24fc 100755 --- a/scripts/gen_manpage.sh +++ b/scripts/gen_manpage.sh @@ -1,10 +1,13 @@ #! /bin/bash # Used to a man page from markdown -echo ".\" Man page for the ttrts project" > $4 -echo ".\" this man page is auto-generated, do not edit directly" >> $4 +FILE="$4" +TEMP="$FILE.tmp" -echo ".TH TTRTS\ v$1.$2.$3 6 $(date +%Y-%m-%d) http://mdiluz.github.io/ttrts/" >> $4 +echo ".\" Man page for the ttrts project" > $TEMP +echo ".\" this man page is auto-generated, do not edit directly" >> $TEMP + +echo ".TH TTRTS\ v$1.$2.$3 6 $(date +%Y-%m-%d) http://mdiluz.github.io/ttrts/" >> $TEMP # NOTE: For the OSX version of sed we use -E, which on linux appears be an undocumented switch for -r # we also have to use [A-Za-z] instead of \w for some reason @@ -32,4 +35,9 @@ cat "$5" \ | sed -E 's/-----+//g' \ | sed -E 's/`(.*)`/\\fB\1\\fR/g' \ | sed -E 's/MAPFILE/\\fImapfile\\fR/g' \ - | sed -E 's/ ttrts -/ ttrts \\-/g' >> $4 + | sed -E 's/ ttrts -/ ttrts \\-/g' >> $TEMP + + +if [ ! -e $FILE ] || [ ! -z $( diff $FILE $TEMP ) ]; then + mv -f $TEMP $FILE +fi diff --git a/scripts/gen_usage.sh b/scripts/gen_usage.sh index efeab0a..5e33166 100755 --- a/scripts/gen_usage.sh +++ b/scripts/gen_usage.sh @@ -1,10 +1,18 @@ #! /bin/bash # Used to generate usage text from markdown +FILE="$1" +TEMP="${FILE}_tmp" + cat README.md \ | sed -E 's/^#+ //g' \ | sed -E 's/^ /\\t/g' \ | sed -E 's/^ /\\t/g' \ | sed -E 's/^/\"/' \ | sed -E 's/$/\\n\"/' \ - > $1 + > $TEMP + +# If no difference +if [ ! -e $FILE ] || [ ! -z "$( diff $TEMP $FILE )" ]; then + mv -f $TEMP $FILE +fi diff --git a/scripts/gen_version_header.sh b/scripts/gen_version_header.sh index 907c2be..69db452 100755 --- a/scripts/gen_version_header.sh +++ b/scripts/gen_version_header.sh @@ -10,4 +10,9 @@ HEADER="// Auto generated ttrts version header #endif //_TTRTS_VERSION_H_" -echo "$HEADER" > "version.h" \ No newline at end of file +echo "$HEADER" > "version.h.tmp" + +# If no difference +if [ ! -e version.h ] || [ ! -z $( diff version.h version.h.tmp ) ]; then + mv -f version.h.tmp version.h +fi