windows Makefile updates

This commit is contained in:
nhmall
2019-11-27 01:25:17 -05:00
parent 865607a392
commit 503b97960b
2 changed files with 26 additions and 180 deletions

View File

@@ -100,7 +100,7 @@ TARGET_CPU=x86
# your machine.
#
# ADD_CURSES=Y
# PDCURSES_TOP=../../pdcurses
# PDCURSES_TOP=../lib/pdcurses
#4b Qt
#
@@ -137,7 +137,7 @@ TARGET_CPU=x86
# successfully build NetHack-3.7.
#
ADD_LUA=Y
LUATOP=../../lua-5.3.5
LUATOP=../lib/lua-5.3.5
#
#==============================================================================
# This marks the end of the BUILD DECISIONS section.
@@ -746,7 +746,7 @@ default : install
all : install
install: initialchk $(O)utility.tag $(GAMEDIR)/NetHack.exe $(NETHACKW_EXE) \
install: $(INCL)/nhlua.h initialchk $(O)utility.tag $(GAMEDIR)/NetHack.exe $(NETHACKW_EXE) \
$(O)install.tag $(EXTRA_FILES)
@echo NetHack is up to date.
@echo Done.
@@ -795,6 +795,15 @@ $(O)utility.tag: $(INCL)/date.h $(INCL)/onames.h $(INCL)/pm.h \
$(subst /,\,@echo utilities made >$@)
@echo utilities made.
$(INCL)/nhlua.h:
echo '/* nhlua.h - generated by top Makefile */' > $@
@echo '#include "../lib/lua-$(LUA_VERSION)/src/lua.h"' >> $@
@sed -e '/(lua_error)/!d' -e '/(lua_error)/s/;/ NORETURN;/1' \
< lib/lua-$(LUA_VERSION)/src/lua.h >> $@
@echo '#include "../lib/lua-$(LUA_VERSION)/src/lualib.h"' >> $@
@echo '#include "../lib/lua-$(LUA_VERSION)/src/lauxlib.h"' >> $@
@echo '/*nhlua.h*/' >> $@
tileutil: $(U)gif2txt.exe $(U)gif2tx32.exe $(U)txt2ppm.exe
@echo Optional tile development utilities are up to date.

View File

@@ -99,7 +99,7 @@ GAMEDIR = ..\binary # Default game build directory
# of your PDCurses C files.
#
#ADD_CURSES=Y
#PDCURSES_TOP=..\..\pdcurses
#PDCURSES_TOP=..\lib\pdcurses
#
#------------------------------------------------------------------------------
# OPTIONAL - zlib support (to allow compressed savefile exchange across platforms
@@ -108,7 +108,7 @@ GAMEDIR = ..\binary # Default game build directory
#
#
#ADD_ZLIB=Y
#ZLIBTOP=..\..\zlib
#ZLIBTOP=..\lib\zlib
#
#------------------------------------------------------------------------------
# 4. Do you want debug information available to the executable?
@@ -143,7 +143,7 @@ DEBUGINFO = Y
# successfully build NetHack-3.7. You cannot build a functional
# version of NetHack-3.7 Work-in-progress without including Lua.
#
LUATOP=..\..\lua-5.3.5
LUATOP=..\lib\lua-5.3.5
#
#
#==============================================================================
@@ -252,14 +252,6 @@ MAKESRC = $(U)makedefs.c
MAKEOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.o
!IFDEF OBSOLETE_LEVEL_COMPILER
LEVCOMPOBJS = $(O)lev_yacc.o $(O)lev_lex.o $(O)lev_main.o \
$(O)alloc.o $(O)decl.o $(O)drawing.o $(O)monst.o $(O)objects.o $(O)panic.o
!ENDIF
DGNCOMPOBJS = $(O)dgn_yacc.o $(O)dgn_lex.o $(O)dgn_main.o \
$(O)alloc.o $(O)panic.o
RECOVOBJS = $(O)recover.o
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
@@ -503,9 +495,6 @@ HACK_H = $(INCL)\hack.h $(CONFIG_H) $(INCL)\align.h $(INCL)\context.h \
LEV_H = $(INCL)\lev.h
DGN_FILE_H = $(INCL)\dgn_file.h
!IFDEF OBSOLETE_LEVEL_COMPILER
LEV_COMP_H = $(INCL)\lev_comp.h
!ENDIF
SP_LEV_H = $(INCL)\sp_lev.h
TILE_H = ..\win\share\tile.h
@@ -1025,52 +1014,22 @@ recover: $(U)recover.exe
if exist $(U)recover.exe copy $(U)recover.exe $(GAMEDIR)
if exist $(DOC)\recover.txt copy $(DOC)\recover.txt $(GAMEDIR)\recover.txt
!IFDEF OBSOLETE_LEVEL_COMPILER
$(O)sp_lev.tag: $(O)utility.tag $(DAT)\bigroom.des $(DAT)\castle.des \
$(DAT)\endgame.des $(DAT)\gehennom.des $(DAT)\knox.des \
$(DAT)\medusa.des $(DAT)\oracle.des $(DAT)\tower.des \
$(DAT)\yendor.des $(DAT)\arch.des $(DAT)\barb.des \
$(DAT)\caveman.des $(DAT)\healer.des $(DAT)\knight.des \
$(DAT)\monk.des $(DAT)\priest.des $(DAT)\ranger.des \
$(DAT)\rogue.des $(DAT)\samurai.des $(DAT)\sokoban.des \
$(DAT)\tourist.des $(DAT)\valkyrie.des $(DAT)\wizard.des
cd $(DAT)
$(U)levcomp bigroom.des
$(U)levcomp castle.des
$(U)levcomp endgame.des
$(U)levcomp gehennom.des
$(U)levcomp knox.des
$(U)levcomp mines.des
$(U)levcomp medusa.des
$(U)levcomp oracle.des
$(U)levcomp sokoban.des
$(U)levcomp tower.des
$(U)levcomp yendor.des
$(U)levcomp arch.des
$(U)levcomp barb.des
$(U)levcomp caveman.des
$(U)levcomp healer.des
$(U)levcomp knight.des
$(U)levcomp monk.des
$(U)levcomp priest.des
$(U)levcomp ranger.des
$(U)levcomp rogue.des
$(U)levcomp samurai.des
$(U)levcomp tourist.des
$(U)levcomp valkyrie.des
$(U)levcomp wizard.des
cd $(SRC)
echo sp_levs done > $(O)sp_lev.tag
!ELSE
$(O)sp_lev.tag:
echo sp_levs done > $(O)sp_lev.tag
!ENDIF
$(O)utility.tag: $(INCL)\date.h $(INCL)\onames.h $(INCL)\pm.h \
$(O)utility.tag: $(INCL)\nhlua.h $(INCL)\date.h $(INCL)\onames.h $(INCL)\pm.h \
$(SRC)\vis_tab.c $(INCL)\vis_tab.h $(TILEUTIL16)
@echo utilities made >$@
@echo utilities made.
$(INCL)\nhlua.h:
@echo /* nhlua.h - generated by Makefile */ > $@
@echo #include "../lib/lua-$(LUAVER)/src/lua.h" >> $@
@echo LUA_API int (lua_error) (lua_State *L) NORETURN; >> $@
@echo #include "../lib/lua-$(LUAVER)/src/lualib.h" >> $@
@echo #include "../lib/lua-$(LUAVER)/src/lauxlib.h" >> $@
@echo /*nhlua.h*/ >> $@
tileutil: $(U)gif2txt.exe $(U)gif2tx32.exe $(U)txt2ppm.exe
@echo Optional tile development utilities are up to date.
@@ -1185,74 +1144,6 @@ $(MSWIN)\splash.bmp: $(U)uudecode.exe $(MSWIN)\splash.uu
..\..\util\uudecode.exe splash.uu
chdir ..\..\src
#=================================================
# Level Compiler Stuff
#=================================================
#
# defer to the steps in ..\win\win32\levstuff.mak
#
!IFDEF OBSOLETE_LEVEL_COMPILER
$(U)lev_yacc.c: $(U)lev_comp.y
nmake -nologo -f ..\win\win32\levstuff.mak $(U)lev_yacc.c
$(U)lev_lex.c: $(U)lev_comp.l
nmake -nologo -f ..\win\win32\levstuff.mak $(U)lev_lex.c
$(INCL)\lev_comp.h:
nmake -nologo -f ..\win\win32\levstuff.mak $(INCL)\lev_comp.h
$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h $(U)lev_yacc.c
@$(cc) $(cflagsBuild) -Fo$@ $(U)lev_yacc.c
$(O)lev_lex.o: $(HACK_H) $(INCL)\lev_comp.h $(SP_LEV_H) $(U)lev_lex.c
@$(cc) $(cflagsBuild) -Fo$@ $(U)lev_lex.c
$(O)lev_main.o: $(U)lev_main.c $(HACK_H) $(SP_LEV_H)
@$(cc) $(cflagsBuild) -Fo$@ $(U)lev_main.c
$(U)levcomp.exe: $(LEVCOMPOBJS)
@echo Linking $(@:\=/)
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
$(LEVCOMPOBJS:^ =^
)
<<
!ENDIF
#=================================================
# Dungeon Compiler Stuff
#=================================================
#
!IFDEF OBSOLETE_DGN_COMPILER
# defer to the steps in ..\win\win32\dgnstuff.mak
#
$(U)dgn_yacc.c: $(U)dgn_comp.y
nmake -nologo -f ..\win\win32\dgnstuff.mak $(U)dgn_yacc.c
$(INCL)\dgn_comp.h:
nmake -nologo -f ..\win\win32\dgnstuff.mak $(INCL)\dgn_comp.h
$(U)dgn_lex.c: $(U)dgn_comp.l
nmake -nologo -f ..\win\win32\dgnstuff.mak $(U)dgn_lex.c
$(O)dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h $(U)dgn_yacc.c
@$(cc) $(cflagsBuild) -Fo$@ $(U)dgn_yacc.c
$(O)dgn_lex.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \
$(U)dgn_lex.c
@$(cc) $(cflagsBuild) -Fo$@ $(U)dgn_lex.c
$(O)dgn_main.o: $(HACK_H) $(U)dgn_main.c
@$(cc) $(cflagsBuild) -Fo$@ $(U)dgn_main.c
$(U)dgncomp.exe: $(DGNCOMPOBJS)
@echo Linking $(@:\=/)
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
$(DGNCOMPOBJS:^ =^
)
<<
!ENDIF
#=================================================
# Create directory for holding object files
#=================================================
@@ -1339,9 +1230,6 @@ nhdat$(NHV): $(U)dlb_main.exe $(DAT)\data $(DAT)\oracles $(OPTIONS_FILE) \
echo history >>dlb.lst
echo opthelp >>dlb.lst
echo wizhelp >>dlb.lst
!IFDEF OBSOLETE_DGN_COMPILER
echo dungeon >>dlb.lst
!ENDIF
echo license >>dlb.lst
echo engrave >>dlb.lst
echo epitaph >>dlb.lst
@@ -1570,51 +1458,12 @@ spotless: clean
if exist $(DAT)\ttyoptions del $(DAT)\ttyoptions
if exist $(DAT)\guioptions del $(DAT)\guioptions
if exist $(DAT)\data del $(DAT)\data
!IFDEF OBSOLETE_DGN_COMPILER
if exist $(DAT)\dungeon del $(DAT)\dungeon
if exist $(DAT)\dungeon.pdf del $(DAT)\dungeon.pdf
!ENDIF
!IFDEF OBSOLETE_LEVEL_COMPILER
if exist $(DAT)\???-fil?.lev del $(DAT)\???-fil?.lev
if exist $(DAT)\???-goal.lev del $(DAT)\???-goal.lev
if exist $(DAT)\???-loca.lev del $(DAT)\???-loca.lev
if exist $(DAT)\???-strt.lev del $(DAT)\???-strt.lev
if exist $(DAT)\air.lev del $(DAT)\air.lev
if exist $(DAT)\asmodeus.lev del $(DAT)\asmodeus.lev
if exist $(DAT)\astral.lev del $(DAT)\astral.lev
if exist $(DAT)\baalz.lev del $(DAT)\baalz.lev
if exist $(DAT)\bigrm-*.lev del $(DAT)\bigrm-*.lev
if exist $(DAT)\castle.lev del $(DAT)\castle.lev
if exist $(DAT)\earth.lev del $(DAT)\earth.lev
if exist $(DAT)\fakewiz?.lev del $(DAT)\fakewiz?.lev
if exist $(DAT)\fire.lev del $(DAT)\fire.lev
if exist $(DAT)\juiblex.lev del $(DAT)\juiblex.lev
if exist $(DAT)\knox.lev del $(DAT)\knox.lev
if exist $(DAT)\medusa-?.lev del $(DAT)\medusa-?.lev
if exist $(DAT)\mine*.lev del $(DAT)\mine*.lev
if exist $(DAT)\oracle.lev del $(DAT)\oracle.lev
if exist $(DAT)\orcus.lev del $(DAT)\orcus.lev
if exist $(DAT)\sanctum.lev del $(DAT)\sanctum.lev
if exist $(DAT)\soko?-?.lev del $(DAT)\soko?-?.lev
if exist $(DAT)\tower?.lev del $(DAT)\tower?.lev
if exist $(DAT)\valley.lev del $(DAT)\valley.lev
if exist $(DAT)\water.lev del $(DAT)\water.lev
if exist $(DAT)\wizard?.lev del $(DAT)\wizard?.lev
!ENDIF
clean:
if exist $(O)*.o del $(O)*.o
if exist $(INCL)\nhlua.h del $(INCL)\nhlua.h
if exist $(O)utility.tag del $(O)utility.tag
if exist $(U)makedefs.exe del $(U)makedefs.exe
!IFDEF OBSOLETE_LEVEL_COMPILER
if exist $(U)levcomp.exe del $(U)levcomp.exe
if exist $(O)levcomp.MAP del $(O)levcomp.MAP
if exist $(O)levcomp.PDB del $(O)levcomp.PDB
!ENDIF
!IFDEF OBSOLETE_DGN_COMPILER
if exist $(U)dgncomp.exe del $(U)dgncomp.exe
if exist $(O)dgncomp.MAP del $(O)dgncomp.MAP
if exist $(O)dgncomp.PDB del $(O)dgncomp.PDB
!ENDIF
if exist $(SRC)\*.lnk del $(SRC)\*.lnk
if exist $(SRC)\*.map del $(SRC)\*.map
if exist $(O)install.tag del $(O)install.tag
@@ -1645,18 +1494,6 @@ clean:
if exist $(O)sp_lev.tag del $(O)sp_lev.tag
if exist $(O)uudecode.MAP del $(O)uudecode.MAP
if exist $(O)uudecode.PDB del $(O)uudecode.PDB
!IFDEF OBSOLETE_LEVEL_COMPILER
rem
rem defer to the steps in ..\win\win32\levstuff.mak
rem
nmake -nologo -f ..\win\win32\levstuff.mak clean
!ENDIF
!IFDEF OBSOLETE_DGN_COMPILER
rem
rem defer to the steps in ..\win\win32\dgnstuff.mak
rem
nmake -nologo -f ..\win\win32\dgnstuff.mak clean
!ENDIF
if exist $(TILEBMP16) del $(TILEBMP16)
if exist $(TILEBMP32) del $(TILEBMP32)