-BUILT_SOURCES = arch-version.h
-noinst_HEADERS = arch-version.h
-arch-version.h:
- @if [ -e $@ ] ; then OLD_REVISION=`cat $@` ; else OLD_REVISION="" ; fi ; \
- ARCH_REVISION=`tla logs -f | tail -n 1` ; \
- VERSION_CONTENTS="#define ARCH_VERSION \"$$ARCH_REVISION\"" ; \
- if [ "z" != "z$$ARCH_REVISION" -a "z$$OLD_REVISION" != "z$$VERSION_CONTENTS" ] ; then \
- echo "Putting new arch version into $@" ; \
- echo $$VERSION_CONTENTS > $@ ; \
+
+BUILT_SOURCES = git-version.c
+.PHONY: checkversion
+git-version.c: checkversion
+
+if HAS_GIT
+checkversion:
+ @GIT_VERSION=`$(GIT) describe`; \
+ [ "z$$GIT_VERSION" != "z" ] || exit 0; \
+ TMPFILE=`mktemp git-version.c.XXXXXX` || exit 1 ; \
+ echo "const char git_version[] = \"$${GIT_VERSION}\";" >> $$TMPFILE ; \
+ if diff -q git-version.c $$TMPFILE >/dev/null 2>&1 ; then \
+ rm $$TMPFILE ; \
+ else \
+ echo "Putting new git version into git-version.c" ; \
+ rm -f git-version.c ; \
+ mv $$TMPFILE git-version.c ; \