summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/firmware.make7
-rwxr-xr-xtools/genversion.sh43
2 files changed, 28 insertions, 22 deletions
diff --git a/firmware/firmware.make b/firmware/firmware.make
index 105fe7e111..ba2ec7ede2 100644
--- a/firmware/firmware.make
+++ b/firmware/firmware.make
@@ -44,5 +44,8 @@ $(BUILDDIR)/sysfont.o: $(SYSFONT) $(BUILDDIR)/sysfont.h
44 $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $< 44 $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $<
45 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@ 45 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@
46 46
47$(BUILDDIR)/version.c $(BUILDDIR)/version.h: 47$(BUILDDIR)/version.c: $(BUILDDIR)/version.h
48 $(TOOLSDIR)/genversion.sh $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR) 48 $(TOOLSDIR)/genversion.sh c $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR)
49
50$(BUILDDIR)/version.h:
51 $(TOOLSDIR)/genversion.sh h $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR)
diff --git a/tools/genversion.sh b/tools/genversion.sh
index cf8d999e5b..55abb5de3d 100755
--- a/tools/genversion.sh
+++ b/tools/genversion.sh
@@ -6,37 +6,40 @@
6# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7# \/ \/ \/ \/ \/ 7# \/ \/ \/ \/ \/
8 8
9# Usage: genversion.sh destination-dir path-to-version.sh [source-root] 9# Usage: genversion.sh c/h destination-dir path-to-version.sh [source-root]
10 10
11# Generate version.[ch] files 11# Generate version.[ch] files (if first argument is c or h)
12 12
13VERSION=`$2 $3` 13# XXX DO NOT TWEAK VERSION HERE, EDIT version.sh INSTEAD
14 14
15cat > "$1/_version.h" << EOF 15VERSION=`$3 $4`
16
17if [ "$1" = "h" ]; then
18 cat > "$2/_version.h" << EOF
16/* Generated by genversion.sh */ 19/* Generated by genversion.sh */
17extern const char rbversion[]; 20extern const char rbversion[];
18#define RBVERSION "$VERSION" 21#define RBVERSION "$VERSION"
19EOF 22EOF
20 23
21if [ -f "$1/version.h" ] 24 if [ -f "$2/version.h" ]
22 then if diff "$1/_version.h" "$1/version.h" > /dev/null 25 then if diff "$2/_version.h" "$2/version.h" > /dev/null
23 then mv "$1/_version.h" "$1/version.h" 26 then mv "$2/_version.h" "$2/version.h"
24 else rm -f "$1/_version.h" 27 else rm -f "$2/_version.h"
28 fi
29 else mv "$2/_version.h" "$2/version.h"
25 fi 30 fi
26 else mv "$1/_version.h" "$1/version.h" 31elif [ "$1" = "c" ]; then
27fi 32 cat > "$2/_version.c" << EOF
28
29
30cat > "$1/_version.c" << EOF
31/* Generated by genversion.sh */ 33/* Generated by genversion.sh */
32const char rbversion[] = "$VERSION"; 34#include "version.h"
35const char rbversion[] = RBVERSION;
33EOF 36EOF
34 37
35if [ -f "$1/version.c" ] 38 if [ -f "$2/version.c" ]
36 then if diff "$1/_version.c" "$1/version.c" > /dev/null 39 then if diff "$2/_version.c" "$2/version.c" > /dev/null
37 then mv "$1/_version.c" "$1/version.c" 40 then mv "$2/_version.c" "$2/version.c"
38 else rm -f "$1/_version.c" 41 else rm -f "$2/_version.c"
42 fi
43 else mv "$2/_version.c" "$2/version.c"
39 fi 44 fi
40 else mv "$1/_version.c" "$1/version.c"
41fi 45fi
42