git prefix for Makefile.mingw32 and Makefile.nmake (untested)
This commit is contained in:
@@ -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$@
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user