From: Ethan M. <eam...@gm...> - 2020-06-30 23:19:38
|
On Tuesday, 30 June 2020 16:03:22 PDT Henri Menke wrote: > Currently building the development version requires git to be installed > to fetch the `last modified' date from the commit information. This is > okay when building from a git clone, but fails when downloading a > snapshot that does not contain the .git directory. Yeah, that has been a problem. Thanks for looking at this. > To this end, I implemented a fallback which just uses the current date > if git is not available. If you are building from a snapshot, the correct date should be the date of the snapshot. I don't know how to do that. Do you? Ethan > The old version had the advantage that > `timestamp.h' would only be rebuilt when changing the git branch. If > git is not available, this logic fails of course. Instead I made > `timestamp.h' a phony target, i.e. it will be rebuilt unconditionally > every time. The disadvantage here is that this will also trigger a > rebuild of every file that depends on `timestamp.h' but as far as I can > see this is only `version.c'. > --- > src/Makefile.am | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/Makefile.am b/src/Makefile.am > index 1b0d8136e..7eca23cfa 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -107,12 +107,12 @@ endif > > DISTCLEANFILES = timestamp.h > BUILT_SOURCES = timestamp.h > -git_current := $(shell cut -c6- $(top_srcdir)/.git/HEAD) > -timestamp.h: $(top_srcdir)/.git/${git_current} Makefile > +.PHONY: timestamp.h > +timestamp.h: Makefile > @echo Making $@ > @echo "#ifndef GNUPLOT_TIMEBASE_H_INCLUDED" >$@t > @echo "#define GNUPLOT_TIMEBASE_H_INCLUDED" >>$@t > - @echo "const char gnuplot_date[] = \"`git --git-dir '$(top_srcdir)/.git' log -1 --format=%ci | cut -b-11`\";" >>$@t > + @echo "const char gnuplot_date[] = \"`git --git-dir '$(top_srcdir)/.git' log -1 --format=%cs || date +'%Y-%m-%d'`\";" >>$@t > @echo "#endif /* GNUPLOT_TIMEBASE_H_INCLUDED */" >> $@t > @if cmp -s $@ $@t; then rm -f $@t; else mv $@t $@; fi > > |