summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2016-05-30 12:09:04 +0100
committerEmil Velikov <[email protected]>2016-05-30 17:53:45 +0100
commit4cd9cd6abc772388b41ca6e7d85f62e32014120f (patch)
treed2e9725177801540daa51931371cfea1324d0fde /src/Makefile.am
parent13faddb6b8e30ff0e81e62fb863304a57c712aae (diff)
automake: move the git_sha1.h rule a level up
This way we can reuse the header from other places like - src/intel/vulkan and src/gallium. Only the former is hooked up atm. Make sure .gitignore is updated, as well as all the users (the mesa code does not need any changes). Also ensure that the file is always created by adding it to the BUILT_SOURCES target. Cc: Jason Ekstrand <[email protected]> Cc: Kristian Høgsberg Kristensen <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
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 ?