more Unix gitinfo

When make uses 'makedefs -v' to create date.h, force it to create
gitinfo.txt all the time instead of just when that doesn't already
exist.  Use 'make GITINFO=0' to get the previous behavior.

To skip it entirely, you need to do that and also make sure that
some file by that name already exists.  'touch dat/gitinfo.txt' or
perhaps 'echo "#no git" > dat/gitinfo.txt' would suffice.
This commit is contained in:
PatR
2018-03-10 12:32:52 -08:00
parent 4f459a9532
commit ddb830911e
2 changed files with 14 additions and 3 deletions
+9 -1
View File
@@ -332,6 +332,14 @@ RANDOBJ =
# used by `make depend' to reconstruct this Makefile; you shouldn't need this # used by `make depend' to reconstruct this Makefile; you shouldn't need this
AWK = nawk AWK = nawk
# when using 'makedefs -v', also force dat/gitinfo.txt to be up to date;
# changing this to 0 will change the behavior to only make that file if
# it doesn't already exist; to skip it completely, create an empty file
# of that name and also set this to 0; there shouldn't be any need to
# skip it--if nethack's sources don't reside in a git repository than
# the script which creates that file will fail benignly and 'makedefs -v'
# will proceed without it
GITINFO=1
#VERBOSEMAKE = 1 #VERBOSEMAKE = 1
@@ -612,7 +620,7 @@ tile.c: ../win/share/tilemap.c $(HACK_H)
# hack.h depends on makedefs' output, so we know makedefs will be # hack.h depends on makedefs' output, so we know makedefs will be
# up to date before being executed # up to date before being executed
../include/date.h: $(VERSOURCES) $(HACK_H) ../include/date.h: $(VERSOURCES) $(HACK_H)
-$(SHELL) ../sys/unix/gitinfo.sh #../dat/gitinfo.txt for 'makedefs -v' -$(SHELL) ../sys/unix/gitinfo.sh $(GITINFO) #before 'makedefs -v'
../util/makedefs -v ../util/makedefs -v
+5 -2
View File
@@ -1,7 +1,7 @@
#!/bin/sh #!/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 $ # 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 # bring dat/gitinfo.txt up to date; called from Makefile.src
# #
# gitinfo.txt is used during development to augment the version number # gitinfo.txt is used during development to augment the version number
@@ -10,13 +10,16 @@
# this script to be skipped or to run but fail to generate dat/gitinfo.txt. # this script to be skipped or to run but fail to generate dat/gitinfo.txt.
# #
always=0
if [[ $1 -eq 1 || $1 == "force" || $1 == "always" ]]; then always=1; fi
# try to figure out where we are: top, one level down (expected), or sys/unix # try to figure out where we are: top, one level down (expected), or sys/unix
prefix=. prefix=.
if [ -f ../sys/unix/gitinfo.sh ]; then prefix=..; fi if [ -f ../sys/unix/gitinfo.sh ]; then prefix=..; fi
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 # try to run a perl script which is part of nethack's git repository
if [[ ! -f $prefix/dat/gitinfo.txt ]]; then if [[ $always -eq 1 || ! -f $prefix/dat/gitinfo.txt ]]; then
( cd $prefix; \ ( cd $prefix; \
perl -IDEVEL/hooksdir -MNHgithook -e '&NHgithook::nhversioning' \ perl -IDEVEL/hooksdir -MNHgithook -e '&NHgithook::nhversioning' \
2> /dev/null ) \ 2> /dev/null ) \