From b5e4f3962596cada703ab5365bda498e6da85100 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Wed, 6 Jan 2016 04:27:32 -0600 Subject: [PATCH] buildsystem: build serno.h before anything else --- Makefile.am | 12 ++++++++++++ Makefile.in | 25 ++++++++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index e72190fb..ec6da0d6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,5 +19,17 @@ SUBDIRS += ircd \ logdir = @prefix@/logs +BUILT_SOURCES = include/serno.h + +include/serno.h: + @if [ -d .git ] ; then \ + revh=`git log -1 --date=short --pretty=format:%cd_%h 2>/dev/null | sed -e s/-//g -e s/_/-/`;\ + [ -z "$$revh" ] || echo '#define SERNO "'$$revh'"' >include/serno.h ; \ + elif [ -d .hg ] ; then \ + revh=`hg parents --template '{date|shortdate}_{node|short}' 2>/dev/null | sed -e s/-//g -e s/_/-/`;\ + [ -z "$$revh" ] || echo '#define SERNO "'$$revh'"' >include/serno.h ; \ + fi + @[ -f include/serno.h ] || echo '#define SERNO "unknown"' >include/serno.h + install-data-hook: test -d ${logdir} || mkdir -p ${logdir} diff --git a/Makefile.in b/Makefile.in index 4502d331..0c0ab0b7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -403,7 +403,9 @@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 SUBDIRS = libratbox $(am__append_1) ircd ssld authd bandb tools \ modules extensions help doc -all: all-recursive +BUILT_SOURCES = include/serno.h +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @@ -759,11 +761,13 @@ distcleancheck: distclean $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am -check: check-recursive +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: -install: install-recursive +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -793,6 +797,7 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am @@ -864,8 +869,8 @@ ps-am: uninstall-am: -.MAKE: $(am__recursive_targets) install-am install-data-am \ - install-strip +.MAKE: $(am__recursive_targets) all check install install-am \ + install-data-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ @@ -887,6 +892,16 @@ uninstall-am: .PRECIOUS: Makefile +include/serno.h: + @if [ -d .git ] ; then \ + revh=`git log -1 --date=short --pretty=format:%cd_%h 2>/dev/null | sed -e s/-//g -e s/_/-/`;\ + [ -z "$$revh" ] || echo '#define SERNO "'$$revh'"' >include/serno.h ; \ + elif [ -d .hg ] ; then \ + revh=`hg parents --template '{date|shortdate}_{node|short}' 2>/dev/null | sed -e s/-//g -e s/_/-/`;\ + [ -z "$$revh" ] || echo '#define SERNO "'$$revh'"' >include/serno.h ; \ + fi + @[ -f include/serno.h ] || echo '#define SERNO "unknown"' >include/serno.h + install-data-hook: test -d ${logdir} || mkdir -p ${logdir}