summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile8
-rwxr-xr-xbuild/version.sh18
2 files changed, 19 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 8662018..6f74eb6 100644
--- a/Makefile
+++ b/Makefile
@@ -68,13 +68,7 @@ ${OBJS}: gen/config.mk
# Save the version number to this file, but only update version.c if it changes
gen/version.i.new::
@${MKDIR} ${@D}
- @if [ "$$VERSION" ]; then \
- printf '%s' "$$VERSION"; \
- elif test -e src/../.git && command -v git >/dev/null 2>&1; then \
- git -C src/.. describe --always --dirty; \
- else \
- echo "4.0.1"; \
- fi | tr -d '\n' | build/embed.sh >$@
+ @build/version.sh | tr -d '\n' | build/embed.sh >$@
gen/version.i: gen/version.i.new
@test -e $@ && cmp -s $@ ${.ALLSRC} && ${RM} ${.ALLSRC} || mv ${.ALLSRC} $@
diff --git a/build/version.sh b/build/version.sh
new file mode 100755
index 0000000..a14e996
--- /dev/null
+++ b/build/version.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Copyright © Tavian Barnes <tavianator@tavianator.com>
+# SPDX-License-Identifier: 0BSD
+
+# Print the version number
+
+set -eu
+
+DIR="$(dirname -- "$0")/.."
+
+if [ "${VERSION-}" ]; then
+ printf '%s' "$VERSION"
+elif [ -e "$DIR/.git" ] && command -v git >/dev/null 2>&1; then
+ git -C "$DIR" describe --always --dirty
+else
+ echo "4.0.1"
+fi