diff options
context:
space:
mode:
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
Move `gen-version.sh` into tools
Diffstat (limited to 'source')
-rw-r--r--source/cgit.mk9
-rwxr-xr-xsource/gen-version.sh27
2 files changed, 5 insertions, 31 deletions
diff --git a/source/cgit.mk b/source/cgit.mk
index 1cee1fb..0683cb7 100644
--- a/source/cgit.mk
+++ b/source/cgit.mk
@@ -9,12 +9,13 @@
# ../../build.
include Makefile
-# SRCDIR and BUILDDIR are named relative to the project root, matching the top
-# level Makefile, because the version recipe changes into the root before using
-# them. CGIT_SRC and CGIT_BUILD are the same two directories reached from
+# TOOLSDIR and BUILDDIR are named relative to the project root, matching the
+# top level Makefile, because the version recipe changes into the root before
+# using them. CGIT_SRC and CGIT_BUILD lead to the sources and the output from
# vendor/git, where everything else here runs.
CGIT_ROOT = ../..
SRCDIR = source
+TOOLSDIR = tools
BUILDDIR = build
CGIT_SRC = $(CGIT_ROOT)/$(SRCDIR)
CGIT_BUILD = $(CGIT_ROOT)/$(BUILDDIR)
@@ -27,7 +28,7 @@ CGIT_BUILD = $(CGIT_ROOT)/$(BUILDDIR)
# Makefile, which exports them, rather than being defined in this file.
$(CGIT_BUILD)/VERSION: force-version
@mkdir -p $(CGIT_BUILD)/
- @cd $(CGIT_ROOT) && '$(SHELL_PATH_SQ)' $(SRCDIR)/gen-version.sh "$(CGIT_VERSION)" $(BUILDDIR)/VERSION
+ @cd $(CGIT_ROOT) && '$(SHELL_PATH_SQ)' $(TOOLSDIR)/gen-version.sh "$(CGIT_VERSION)" $(BUILDDIR)/VERSION
-include $(CGIT_BUILD)/VERSION
.PHONY: force-version
diff --git a/source/gen-version.sh b/source/gen-version.sh
deleted file mode 100755
index b28e987..0000000
--- a/source/gen-version.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# Writes a "CGIT_VERSION = ..." line into the output file, which the build
-# then includes. Run it from the project root, as gen-version.sh <fallback>
-# [output], so that git describe reports cgit rather than the bundled git
-# submodule. The output file defaults to VERSION.
-
-version=$1
-output=${2:-VERSION}
-
-# Prefer what git describe reports, but only at the top of the cgit working
-# tree, and keep the fallback when it has nothing to say, as in a shallow or
-# tagless clone.
-if test "$(git rev-parse --git-dir 2>/dev/null)" = '.git'
-then
- described=$(git describe --abbrev=4 HEAD 2>/dev/null)
- test -n "$described" && version=$described
-fi
-
-new="CGIT_VERSION = $version"
-old=$(cat "$output" 2>/dev/null)
-
-# Leaving the file untouched when nothing changed keeps make from rebuilding
-# everything that depends on it.
-test "$old" = "$new" && exit 0
-
-echo "$new" > "$output"
-cat "$output"