diff --git a/sys/unix/Makefile.src b/sys/unix/Makefile.src index 19f41ca81..f6b9371bc 100644 --- a/sys/unix/Makefile.src +++ b/sys/unix/Makefile.src @@ -1,5 +1,5 @@ # NetHack Makefile. -# NetHack 3.6 Makefile.src $NHDT-Date: 1519228664 2018/02/21 15:57:44 $ $NHDT-Branch: githash $:$NHDT-Revision: 1.51 $ +# NetHack 3.6 Makefile.src $NHDT-Date: 1520201829 2018/03/04 22:17:09 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.52 $ # Root of source tree: NHSROOT=.. @@ -606,13 +606,13 @@ tile.c: ../win/share/tilemap.c $(HACK_H) # file far more complex. Since "hack.h" depends on most of the include # files, we kludge around this by making date.h dependent on hack.h, # even though it doesn't include this file. +# Do NOT include ../dat/gitinfo.txt as either a prerequisite or target. +# 'makedefs -v' processes it when present and ignores it if not. # # hack.h depends on makedefs' output, so we know makedefs will be # up to date before being executed ../include/date.h: $(VERSOURCES) $(HACK_H) - if [[ ! -f ../dat/gitinfo.txt ]]; then \ - (cd ..;perl -IDEVEL/hooksdir -MNHgithook -e '&NHgithook::nhversioning') || true; \ - fi + -$(SHELL) ../sys/unix/gitinfo.sh #../dat/gitinfo.txt for 'makedefs -v' ../util/makedefs -v diff --git a/sys/unix/gitinfo.sh b/sys/unix/gitinfo.sh new file mode 100755 index 000000000..72d300454 --- /dev/null +++ b/sys/unix/gitinfo.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# NetHack 3.6 gitinfo.sh $NHDT-Date: 1520201830 2018/03/04 22:17:10 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.0 $ + +# if dat/gitinfo.txt doesn't exist, try to make one; called from Makefile.src + +# +# gitinfo.txt is used during development to augment the version number +# (for nethack's 'v' command) with more specific information. That is not +# necessary when building a released version and it is perfectly OK for +# this script to be skipped or to run but fail to generate dat/gitinfo.txt. +# + +# try to figure out where we are: top, one level down (expected), or sys/unix +prefix=. +if [ -f ../sys/unix/gitinfo.sh ]; then prefix=..; fi +if [ -f ../../sys/unix/gitinfo.sh ]; then prefix=../..; fi + +# try to run a perl script which is part of nethack's git repository +if [[ ! -f $prefix/dat/gitinfo.txt ]]; then + ( cd $prefix; \ + perl -IDEVEL/hooksdir -MNHgithook -e '&NHgithook::nhversioning' \ + 2> /dev/null ) \ + || true +fi +exit 0