summaryrefslogtreecommitdiff
path: root/tools/genversion.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/genversion.sh')
-rwxr-xr-xtools/genversion.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/genversion.sh b/tools/genversion.sh
new file mode 100755
index 0000000..cf8d999
--- /dev/null
+++ b/tools/genversion.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+
+# Usage: genversion.sh destination-dir path-to-version.sh [source-root]
+
+# Generate version.[ch] files
+
+VERSION=`$2 $3`
+
+cat > "$1/_version.h" << EOF
+/* Generated by genversion.sh */
+extern const char rbversion[];
+#define RBVERSION "$VERSION"
+EOF
+
+if [ -f "$1/version.h" ]
+ then if diff "$1/_version.h" "$1/version.h" > /dev/null
+ then mv "$1/_version.h" "$1/version.h"
+ else rm -f "$1/_version.h"
+ fi
+ else mv "$1/_version.h" "$1/version.h"
+fi
+
+
+cat > "$1/_version.c" << EOF
+/* Generated by genversion.sh */
+const char rbversion[] = "$VERSION";
+EOF
+
+if [ -f "$1/version.c" ]
+ then if diff "$1/_version.c" "$1/version.c" > /dev/null
+ then mv "$1/_version.c" "$1/version.c"
+ else rm -f "$1/_version.c"
+ fi
+ else mv "$1/_version.c" "$1/version.c"
+fi
+