diff --git a/sys/windows/Makefile.mingw32 b/sys/windows/Makefile.mingw32 index b79bbfb63..0c9a91e34 100644 --- a/sys/windows/Makefile.mingw32 +++ b/sys/windows/Makefile.mingw32 @@ -211,12 +211,16 @@ ifeq "$(INTERNET_AVAILABLE)" "Y" ifeq "$(GIT_AVAILABLE)" "Y" GIT_HASH := $(shell echo `git rev-parse --verify HEAD` 2>&1) GIT_BRANCH := $(shell echo `git rev-parse --abbrev-ref HEAD` 2>&1) +GIT_PREFIX := $(shell echo `git config nethack.substprefix` 2>&1) ifdef GIT_HASH GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\" endif ifdef GIT_BRANCH GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\" endif +ifdef GIT_PREFIX +GITPREFIX = -DNETHACK_GIT_PREFIX=\"$(GIT_PREFIX)\" +endif endif endif @@ -1048,7 +1052,7 @@ $(ONHW)/%.o: $(SRC)/%.c $(NHLUAH) | $(ONHW) # was just recompiled. date.h is not used in the build of NetHack 3.7. # $(ONHW)/date.o: $(SRC)/date.c $(NHWOBJS) | $(ONHW) - $(cc) $(CFLAGSW) $(GITHASH) $(GITBRANCH) $< -o$@ + $(cc) $(CFLAGSW) $(GITHASH) $(GITBRANCH) $(GITPREFIX) $< -o$@ $(ONHW)/cppregex.o: $(SSYS)/cppregex.cpp $(NHLUAH) | $(ONHW) $(cc) $(CPPFLAGSW) $< -o$@ @@ -1164,7 +1168,7 @@ CLEAN_FILE += $(MAINZIP) # was just recompiled. date.h is not used in the build of NetHack 3.7. # $(ONH)/date.o: $(SRC)/date.c $(NHOBJS) $(NHRES) | $(ONH) - $(cc) $(CFLAGSNH) $(GITHASH) $(GITBRANCH) $< -o$@ + $(cc) $(CFLAGSNH) $(GITHASH) $(GITBRANCH) $(GITPREFIX) $< -o$@ $(ONH)/cppregex.o: $(SSYS)/cppregex.cpp $(NHLUAH) | $(ONH) $(cc) $(CPPFLAGSNH) $< -o$@ diff --git a/sys/windows/Makefile.nmake b/sys/windows/Makefile.nmake index ba53f5810..d739c2528 100644 --- a/sys/windows/Makefile.nmake +++ b/sys/windows/Makefile.nmake @@ -387,6 +387,10 @@ GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\" GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\" !ENDIF +!IFDEF GIT_PREFIX +GITPREFIX = -DNETHACK_GIT_PREFIX=\"$(GIT_PREFIX)\" +!ENDIF + #===============-================================================= # LUA library # Official source for Lua is http://www.lua.org/ftp/lua-5.4.6.tar.gz @@ -1593,7 +1597,7 @@ $(OUTL)makedefs.o: $(U)makedefs.c $(SRC)\mdlib.c $(CONFIG_H) $(INCL)\permonst.h # $(Q)$(CC) -DENUM_PM $(CFLAGS) $(TTYDEF) $(CROSSCOMPILE) /EP -Fo$@ $(U)makedefs.c >$(OUTL)makedefs.c.preproc # -# This is awful, but it allows the GITHASH and GITBRANCH macros to be +# This is awful, but it allows the GITHASH, GITBRANCH and GITPREFIX macros to be # defined and utilized, using only build-in Windows and nmake commands, # as well as the necessary git commands. # @@ -1604,6 +1608,7 @@ $(OTTY)date.o: $(HACKINCL) $(HACKSRC) $(HACKOBJ) $(ALLOBJTTY) $(CURSESOBJ) !IF "$(GIT_AVAILABLE)" == "1" @git rev-parse --verify HEAD 2>&1 >$(OTTY)date1.tmp @git rev-parse --abbrev-ref HEAD 2>&1 >$(OTTY)date2.tmp + @git config nethack.substprefix 2>&1 >$(OTTY)date3.tmp @echo.>date.nmk @echo OBJ = $(OBJTTY)>>date.nmk @echo O = ^$(OBJTTY)^^^\>>date.nmk @@ -1611,6 +1616,7 @@ $(OTTY)date.o: $(HACKINCL) $(HACKSRC) $(HACKOBJ) $(ALLOBJTTY) $(CURSESOBJ) @echo CFLAGS = $(CFLAGS) ^\>>date.nmk @for /F "usebackq" %%A IN ("$(OTTY)date1.tmp") DO @echo. -DNETHACK_GIT_SHA=\"%%A\" ^\>>date.nmk @for /F "usebackq" %%A IN ("$(OTTY)date2.tmp") DO @echo. -DNETHACK_GIT_BRANCH=\"%%A\">>date.nmk + @for /F "usebackq" %%A IN ("$(OTTY)date3.tmp") DO @echo. -DNETHACK_GIT_PREFIX=\"%%A\">>date.nmk @echo.>>date.nmk @echo default: ^$(OTTY)date.o>>date.nmk @echo.>>date.nmk @@ -1624,6 +1630,7 @@ $(OGUI)date.o: $(HACKINCL) $(HACKSRC) $(HACKOBJ) $(ALLOBJGUI) !IF "$(GIT_AVAILABLE)" == "1" @git rev-parse --verify HEAD 2>&1 >$(OGUI)date1.tmp @git rev-parse --abbrev-ref HEAD 2>&1 >$(OGUI)date2.tmp + @git config nethack.substprefix 2>&1 >$(OTTY)date3.tmp @echo.>date.nmk @echo OBJ = $(OBJGUI)>>date.nmk @echo O = ^$(OBJGUI)^^^\>>date.nmk @@ -1631,6 +1638,7 @@ $(OGUI)date.o: $(HACKINCL) $(HACKSRC) $(HACKOBJ) $(ALLOBJGUI) @echo CFLAGS = $(CFLAGS) ^\>>date.nmk @for /F "usebackq" %%A IN ("$(OGUI)date1.tmp") DO @echo. -DNETHACK_GIT_SHA=\"%%A\" ^\>>date.nmk @for /F "usebackq" %%A IN ("$(OGUI)date2.tmp") DO @echo. -DNETHACK_GIT_BRANCH=\"%%A\">>date.nmk + @for /F "usebackq" %%A IN ("$(OTTY)date3.tmp") DO @echo. -DNETHACK_GIT_PREFIX=\"%%A\">>date.nmk @echo.>>date.nmk @echo default: ^$(OGUI)date.o>>date.nmk @echo.>>date.nmk