summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 6ce57916031..d142aeaaa5e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,6 +19,31 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
+.PHONY: git_sha1.h.tmp
+git_sha1.h.tmp:
+ @# Don't assume that $(top_srcdir)/.git is a directory. It may be
+ @# a gitlink file if $(top_srcdir) is a submodule checkout or a linked
+ @# worktree.
+ @touch git_sha1.h.tmp
+ @if test -e $(top_srcdir)/.git; then \
+ if which git > /dev/null; then \
+ git --git-dir=$(top_srcdir)/.git log -n 1 --oneline | \
+ sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
+ > git_sha1.h.tmp ; \
+ fi \
+ fi
+
+git_sha1.h: git_sha1.h.tmp
+ @echo "updating git_sha1.h"
+ @if ! cmp -s git_sha1.h.tmp git_sha1.h; then \
+ mv git_sha1.h.tmp git_sha1.h ;\
+ else \
+ rm git_sha1.h.tmp ;\
+ fi
+
+BUILT_SOURCES = git_sha1.h
+CLEANFILES = $(BUILT_SOURCES)
+
SUBDIRS = . gtest util mapi/glapi/gen mapi
# include only conditionally ?