From 939bd356a4aff13fec5711596ddc101a8f0434cc Mon Sep 17 00:00:00 2001
From: nhmall <nhmall@nethack.org>
Date: Sun, 4 Mar 2018 09:54:29 -0500
Subject: [PATCH] more msc makefile tweaks

---
 sys/winnt/Makefile.msc | 131 +++++++++++++++++++++--------------------
 win/win32/dgnstuff.mak |   9 ++-
 win/win32/levstuff.mak |   9 ++-
 3 files changed, 79 insertions(+), 70 deletions(-)

diff --git a/sys/winnt/Makefile.msc b/sys/winnt/Makefile.msc
index c843dfc1d..0d414da1e 100644
--- a/sys/winnt/Makefile.msc
+++ b/sys/winnt/Makefile.msc
@@ -1,4 +1,4 @@
-# NetHack 3.6	Makefile.msc	$NHDT-Date: 1520172650 2018/03/04 14:10:50 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.107 $ */
+# NetHack 3.6	Makefile.msc	$NHDT-Date: 1520175248 2018/03/04 14:54:08 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.108 $ */
 #       Copyright (c) NetHack PC Development Team 1993-2018
 #
 #==============================================================================
@@ -913,10 +913,10 @@ $(MSWIN)\splash.bmp: $(U)uudecode.exe $(MSWIN)\splash.uu
 # defer to the steps in ..\win\win32\levstuff.mak
 #
 
-$(U)lev_yacc.c:
+$(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_lex.c: $(U)lev_comp.l
 	nmake -nologo -f ..\win\win32\levstuff.mak $(U)lev_lex.c
 
 $(INCL)\lev_comp.h:
@@ -944,13 +944,13 @@ $(U)levcomp.exe: $(LEVCOMPOBJS)
 #
 # defer to the steps in ..\win\win32\dgnstuff.mak
 #
-$(U)dgn_yacc.c:
+$(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_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
@@ -1182,63 +1182,67 @@ spotless: clean
 	if exist $(GAMEDIR)\NetHack.pdb  del $(GAMEDIR)\NetHack.pdb
 	if exist $(GAMEDIR)\nhdat        del $(GAMEDIR)\nhdat
 ! ENDIF
-	if exist $(INCL)\date.h    del $(INCL)\date.h
-	if exist $(INCL)\onames.h  del $(INCL)\onames.h
-	if exist $(INCL)\pm.h      del $(INCL)\pm.h
-	if exist $(INCL)\vis_tab.h del $(INCL)\vis_tab.h
-	if exist $(SRC)\vis_tab.c  del $(SRC)\vis_tab.c
-	if exist $(SRC)\tile.c     del $(SRC)\tile.c
-	if exist $(U)*.lnk         del $(U)*.lnk
-	if exist $(U)*.map         del $(U)*.map
-	if exist $(DAT)\data       del $(DAT)\data
-	if exist $(DAT)\rumors     del $(DAT)\rumors
-	if exist $(DAT)\engrave    del $(DAT)\engrave
-	if exist $(DAT)\epitaph    del $(DAT)\epitaph
-	if exist $(DAT)\bogusmon   del $(DAT)\bogusmon
-	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)\data		del $(DAT)\data
-	if exist $(DAT)\dungeon		del $(DAT)\dungeon
-	if exist $(DAT)\dungeon.pdf	del $(DAT)\dungeon.pdf
-	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)\options		del $(DAT)\options
-	if exist $(DAT)\ttyoptions	del $(DAT)\ttyoptions
-	if exist $(DAT)\guioptions	del $(DAT)\guioptions
-	if exist $(DAT)\oracle.lev	del $(DAT)\oracle.lev
-	if exist $(DAT)\oracles		del $(DAT)\oracles
-	if exist $(DAT)\orcus.lev	del $(DAT)\orcus.lev
-	if exist $(DAT)\rumors		del $(DAT)\rumors
-	if exist $(DAT)\quest.dat	del $(DAT)\quest.dat
-	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
-	if exist $(DAT)\dlb.lst		del $(DAT)\dlb.lst
-	if exist $(O)sp_lev.tag	        del $(O)sp_lev.tag
-	if exist $(SRC)\monstr.c        del $(SRC)\monstr.c
-	if exist $(SRC)\vis_tab.c       del $(SRC)\vis_tab.c
-	if exist $(U)recover.exe        del $(U)recover.exe
-	if exist nhdat.			del nhdat.
-	if exist $(O)obj.tag            del $(O)obj.tag
-	if exist $(O)gamedir.tag        del $(O)gamedir.tag
-	if exist $(O)nh*key.lib         del $(O)nh*key.lib
-	if exist $(O)nh*key.exp         del $(O)nh*key.exp
+	if exist $(INCL)\date.h          del $(INCL)\date.h
+	if exist $(INCL)\onames.h        del $(INCL)\onames.h
+	if exist $(INCL)\pm.h            del $(INCL)\pm.h
+	if exist $(INCL)\vis_tab.h       del $(INCL)\vis_tab.h
+	if exist $(SRC)\vis_tab.c        del $(SRC)\vis_tab.c
+	if exist $(SRC)\tile.c           del $(SRC)\tile.c
+	if exist $(U)*.lnk               del $(U)*.lnk
+	if exist $(U)*.map               del $(U)*.map
+	if exist $(DAT)\data             del $(DAT)\data
+	if exist $(DAT)\rumors           del $(DAT)\rumors
+	if exist $(DAT)\engrave          del $(DAT)\engrave
+	if exist $(DAT)\epitaph          del $(DAT)\epitaph
+	if exist $(DAT)\bogusmon         del $(DAT)\bogusmon
+	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)\data		 del $(DAT)\data
+	if exist $(DAT)\dungeon		 del $(DAT)\dungeon
+	if exist $(DAT)\dungeon.pdf	 del $(DAT)\dungeon.pdf
+	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)\options		 del $(DAT)\options
+	if exist $(DAT)\ttyoptions	 del $(DAT)\ttyoptions
+	if exist $(DAT)\guioptions	 del $(DAT)\guioptions
+	if exist $(DAT)\oracle.lev	 del $(DAT)\oracle.lev
+	if exist $(DAT)\oracles		 del $(DAT)\oracles
+	if exist $(DAT)\orcus.lev	 del $(DAT)\orcus.lev
+	if exist $(DAT)\rumors		 del $(DAT)\rumors
+	if exist $(DAT)\quest.dat	 del $(DAT)\quest.dat
+	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
+	if exist $(DAT)\dlb.lst		 del $(DAT)\dlb.lst
+	if exist $(O)sp_lev.tag	         del $(O)sp_lev.tag
+	if exist $(SRC)\monstr.c         del $(SRC)\monstr.c
+	if exist $(SRC)\vis_tab.c        del $(SRC)\vis_tab.c
+	if exist nhdat.			 del nhdat.
+	if exist $(O)obj.tag             del $(O)obj.tag
+	if exist $(O)gamedir.tag         del $(O)gamedir.tag
+	if exist $(O)nh*key.lib          del $(O)nh*key.lib
+	if exist $(O)nh*key.exp          del $(O)nh*key.exp
+	if exist $(U)recover.exe         del $(U)recover.exe
+	if exist $(U)tile2bmp.exe        del $(U)tile2bmp.exe
+	if exist $(U)tilemap.exe         del $(U)tilemap.exe
+	if exist $(U)uudecode.exe        del $(U)uudecode.exe
+	if exist $(U)dlb_main.exe        del $(U)dlb_main.exe
 clean:
 	if exist $(O)*.o del $(O)*.o
 	if exist $(O)utility.tag   del $(O)utility.tag
@@ -1286,8 +1290,7 @@ clean:
 	rem
 	rem defer to the steps in ..\win\win32\dgnstuff.mak
 	rem
-	nmake -nologo -f ..\win\win32\dgnstuff.mak clean
-
+	nmake -nologo -f ..\win\win32\dgnstuff.mak clean 
 	if exist $(TILEBMP16)        del $(TILEBMP16)
 	if exist $(TILEBMP32)        del $(TILEBMP32)
 
diff --git a/win/win32/dgnstuff.mak b/win/win32/dgnstuff.mak
index 7420960a1..0965501fe 100644
--- a/win/win32/dgnstuff.mak
+++ b/win/win32/dgnstuff.mak
@@ -45,7 +45,8 @@ tools:
 !IF "$(YACC)"==""
 	   @echo Using pre-built dgn_comp.h
 	   chdir ..\include
-	   copy /b ..\sys\share\dgn_comp.h +,,
+	   copy /y ..\sys\share\dgn_comp.h
+	   copy /b dgn_comp.h+,,
 	   chdir ..\src
 !ELSE
 	   chdir ..\util
@@ -61,7 +62,8 @@ tools:
 !IF "$(YACC)"==""
 	   @echo Using pre-built dgn_yacc.c
 	   chdir ..\util
-	   copy /b ..\sys\share\dgn_yacc.c +,,
+	   copy /y ..\sys\share\dgn_yacc.c
+	   copy /b dgn_yacc.c+,,
 	   chdir ..\src
 !ELSE
 	   chdir ..\util
@@ -77,7 +79,8 @@ tools:
 !IF "$(LEX)"==""
 	   @echo Using pre-built dgn_lex.c
 	   chdir ..\util
-	   copy /b ..\sys\share\dgn_lex.c +,,
+	   copy /y ..\sys\share\dgn_lex.c
+	   copy /b dgn_lex.c+,,
 	   chdir ..\src
 !ELSE
 	   chdir ..\util
diff --git a/win/win32/levstuff.mak b/win/win32/levstuff.mak
index e36986d99..2072c2cc0 100644
--- a/win/win32/levstuff.mak
+++ b/win/win32/levstuff.mak
@@ -44,7 +44,8 @@ tools:
 !IFNDEF YACC
 	   @echo Using pre-built lev_comp.h
 	   chdir ..\include
-	   copy /b ..\sys\share\lev_comp.h +,,
+	   copy /y ..\sys\share\lev_comp.h
+	   copy /b lev_comp.h+,,
 	   chdir ..\src
 !ELSE
 	   @echo Generating lev_yacc.c and lev_comp.h
@@ -61,7 +62,8 @@ tools:
 !IFNDEF YACC
 	   @echo Using pre-built lev_yacc.c
 	   chdir ..\util
-	   copy /b ..\sys\share\lev_yacc.c +,,
+	   copy /y ..\sys\share\lev_yacc.c
+	   copy /b lev_yacc.c+,,
 	   chdir ..\src
 !ELSE
 	   @echo Generating lev_yacc.c and lev_comp.h
@@ -78,7 +80,8 @@ tools:
 !IFNDEF LEX
 	   @echo Using pre-built lev_lex.c
 	   chdir ..\util
-	   copy /b ..\sys\share\lev_lex.c +,,
+	   copy /y ..\sys\share\lev_lex.c
+	   copy /b lev_lex.c+,,
            chdir ..\src
 !ELSE
 	   @echo Generating lev_lex.c
-- 
2.40.0