]> granicus.if.org Git - nethack/commitdiff
updates for Windows command line Makefile with visual studio
authornhmall <nhmall@nethack.org>
Thu, 30 Jan 2020 18:50:26 +0000 (13:50 -0500)
committernhmall <nhmall@nethack.org>
Thu, 30 Jan 2020 18:50:26 +0000 (13:50 -0500)
sys/winnt/Makefile.msc

index fa15ce0e786e0320381b8e2e68e28bb19ba088ea..cc1ec93c6c516ebc10db0d73005525b69ca042b9 100644 (file)
@@ -1,5 +1,5 @@
 # NetHack 3.7 Makefile.msc
-#       Copyright (c) NetHack PC Development Team 1993-2019
+#       Copyright (c) NetHack PC Development Team 1993-2020
 #
 #==============================================================================
 # Build Tools Environment
@@ -365,14 +365,17 @@ OBJS   = $(VOBJ01) $(VOBJ02) $(VOBJ03) $(VOBJ04) $(VOBJ05) \
          $(VOBJ26) $(VOBJ27) $(VOBJ28) $(VOBJ29) $(VOBJ30) \
          $(REGEX)  $(CURSESOBJ) $(MDLIB)
 
+WINDHDR = $(MSWSYS)\win10.h $(MSWSYS)\winos.h $(MSWSYS)\win32api.h
+
 GUIOBJ = $(O)mhaskyn.o $(O)mhdlg.o \
        $(O)mhfont.o $(O)mhinput.o $(O)mhmain.o $(O)mhmap.o \
        $(O)mhmenu.o $(O)mhmsgwnd.o $(O)mhrip.o $(O)mhsplash.o \
        $(O)mhstatus.o $(O)mhtext.o $(O)mswproc.o $(O)NetHackW.o
 
-GUIHDR = $(MSWIN)\mhaskyn.h $(MSWIN)\mhdlg.h $(MSWIN)\mhfont.h \
+ALL_GUIHDR = $(MSWIN)\mhaskyn.h $(MSWIN)\mhdlg.h $(MSWIN)\mhfont.h \
        $(MSWIN)\mhinput.h $(MSWIN)\mhmain.h $(MSWIN)\mhmap.h $(MSWIN)\mhmenu.h \
-       $(MSWIN)\mhmsg.h $(MSWIN)\mhmsgwnd.h $(MSWIN)\mhrip.h $(MSWIN)\mhstatus.h \
+       $(MSWIN)\mhmsg.h $(MSWIN)\mhmsgwnd.h $(MSWIN)\mhrip.h \
+       $(MSWIN)\mhsplash.h $(MSWIN)\mhstatus.h \
        $(MSWIN)\mhtext.h $(MSWIN)\resource.h $(MSWIN)\winMS.h
 
 COMCTRL = comctl32.lib
@@ -793,7 +796,7 @@ DLB =
 #==========================================
 
 {$(TTY)}.c{$(OBJ)}.o:
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@  $<
+       @$(cc) $(cflagsBuild) -I$(MSWSYS) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@  $<
 
 
 #==========================================
@@ -801,7 +804,7 @@ DLB =
 #==========================================
 
 {$(MSWIN)}.c{$(OBJ)}.o:
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@  $<
+       @$(cc) $(cflagsBuild) -I$(MSWSYS) -I$(MSWIN) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@  $<
 
 #==========================================
 # Rules for files in win\curses
@@ -818,13 +821,13 @@ DLB =
 #==========================================
 
 {$(PDCURSES_TOP)}.c{$(OBJ)}.o:
-       @$(cc) $(PDCINCL) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
+       @$(cc) /wd4244 $(PDCINCL) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
 
 {$(PDCSRC)}.c{$(OBJ)}.o:
-       @$(cc) $(PDCINCL) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
+       @$(cc) /wd4244 $(PDCINCL) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
 
 {$(PDCWINCON)}.c{$(OBJ)}.o:
-       @$(cc) $(PDCINCL) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
+       @$(cc) /wd4244 $(PDCINCL) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
 
 #==========================================
 # Rules for LUA files
@@ -899,8 +902,8 @@ GAMEOBJ=$(GAMEOBJ:^ =^
 
 
 $(GAMEDIR)\NetHack.exe : $(O)gamedir.tag $(PDCLIB) $(O)tile.o $(O)nttty.o $(O)guistub.o \
-                       $(ALLOBJ) $(TTYOBJ) $(GUIOBJ) $(O)console.res $(KEYDLLS) \
-                       $(LUATARGETS)
+                       $(ALLOBJ) $(TTYOBJ) $(O)console.res $(KEYDLLS) \
+                       $(LUATARGETS) $(PDCLIB)
        @if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
         @echo Linking $(@:\=/)
        $(link) $(lflagsBuild) $(conlflags) /STACK:2048 /PDB:$(GAMEDIR)\$(@B).PDB /MAP:$(O)$(@B).MAP \
@@ -924,7 +927,7 @@ $(GAMEDIR)\NetHack.exe : $(O)gamedir.tag $(PDCLIB) $(O)tile.o $(O)nttty.o $(O)gu
 #    objs: $(GAMEOBJ) $(GUIOBJ) $(O)tile.o $(O)ttystub.o
 
 $(GAMEDIR)\NetHackW.exe : $(O)gamedir.tag $(O)tile.o $(O)ttystub.o \
-                       $(ALLOBJ) $(TTYOBJ) $(GUIOBJ) $(O)NetHackW.res \
+                       $(ALLOBJ) $(GUIOBJ) $(O)NetHackW.res \
                        $(O)gamedir.tag $(KEYDLLS) \
                        $(LUATARGETS)
        @if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
@@ -1204,7 +1207,7 @@ $(O)envchk.tag: $(O)obj.tag
 # DLB utility and nhdatNNN file creation
 #==========================================
 
-$(U)dlb_main.exe: $(DLBOBJ_HOST) $(O)dlb$(HOST).o
+$(U)dlb.exe: $(DLBOBJ_HOST) $(O)dlb$(HOST).o
        @echo Linking $(@:\=/)
        @$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
                $(O)dlb_main$(HOST).o
@@ -1232,7 +1235,7 @@ $(O)dlb_main.o: $(UTIL)\dlb_main.c $(INCL)\config.h $(INCL)\dlb.h
 $(DAT)\porthelp: $(MSWSYS)\porthelp
        @copy $(MSWSYS)\porthelp $@ >nul
 
-nhdat$(NHV):   $(U)dlb_main.exe $(DAT)\data $(DAT)\oracles $(OPTIONS_FILE) \
+nhdat$(NHV):   $(U)dlb.exe $(DAT)\data $(DAT)\oracles $(OPTIONS_FILE) \
 !IFNDEF LUA_QTEXT_FILE
        $(DAT)\quest.dat \
 !ELSE
@@ -1265,7 +1268,7 @@ nhdat$(NHV):      $(U)dlb_main.exe $(DAT)\data $(DAT)\oracles $(OPTIONS_FILE) \
        echo bogusmon >>dlb.lst
        echo tribute >>dlb.lst
        for %%N in (*.lua) do echo %%N >>dlb.lst
-       $(U)dlb_main cIf dlb.lst $(SRC)\nhdat
+       $(U)dlb cIf dlb.lst $(SRC)\nhdat
        cd $(SRC)
 
 #==========================================
@@ -1408,6 +1411,82 @@ $(O)luac.o: $(LUASRC)\luac.c
 $(O)lapi.o: $(LUASRC)\lapi.c
        @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -wd4244 -Fo$@ $(LUASRC)\lapi.c
 
+#===================================================================
+# sys/winnt dependencies
+#===================================================================
+
+$(O)nttty.o:   $(MSWSYS)\nttty.c $(WINDHDR) $(HACK_H) $(TILE_H)
+$(O)win10.o:  $(MSWSYS)\winnt.c $(WINDHDR) $(HACK_H)
+$(O)winnt.o:  $(MSWSYS)\winnt.c $(WINDHDR) $(HACK_H)
+$(O)ntsound.o: $(MSWSYS)\ntsound.c $(WINDHDR) $(HACK_H)
+$(O)windmain.o: $(MSWSYS)\windmain.c $(WINDHDR) $(HACK_H)
+
+#if you aren't linking in the full gui then
+#include the following stub for proper linkage.
+
+$(O)guistub.o: $(WINDHDR) $(HACK_H) $(MSWSYS)\stubs.c
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -DGUISTUB -Fo$@ $(MSWSYS)\stubs.c
+
+#===================================================================
+# win/win32 dependencies
+#===================================================================
+
+$(O)mhaskyn.o: $(MSWIN)\mhaskyn.c $(MSWIN)\$(@B).h $(WINDHDR) $(HACK_H)
+$(O)mhdlg.o: $(MSWIN)\mhdlg.c $(MSWIN)\$(@B).h $(MSWIN)\resource.h $(WINDHDR) $(HACK_H)
+$(O)mhfont.o: $(MSWIN)\mhfont.c $(MSWIN)\$(@B).h $(WINDHDR) $(HACK_H)
+$(O)mhinput.o: $(MSWIN)\mhinput.c $(MSWIN)\$(@B).h $(MSWIN)\winMS.h $(WINDHDR) $(HACK_H)
+$(O)mhmain.o: $(MSWIN)\mhmain.c $(ALL_GUIHDR) $(WINDHDR) $(HACK_H)
+$(O)mhmap.o: $(MSWIN)\mhmap.c $(MSWIN)\$(@B).h $(MSWIN)\mhfont.h $(MSWIN)\mhinput.h \
+               $(MSWIN)\mhmsg.h $(MSWIN)\resource.h $(WINDHDR) $(HACK_H)
+$(O)mhmenu.o: $(MSWIN)\mhmenu.c $(MSWIN)\$(@B).h $(MSWIN)\mhmain.h $(MSWIN)\mhmsg.h \
+               $(MSWIN)\mhfont.h $(MSWIN)\mhdlg.h $(MSWIN)\resource.h $(WINDHDR) $(HACK_H)
+$(O)mhmsgwnd.o: $(MSWIN)\mhmsgwnd.c $(MSWIN)\$(@B).h $(MSWIN)\mhmsg.h $(MSWIN)\mhfont.h \
+               $(MSWIN)\winMS.h $(WINDHDR) $(HACK_H)
+$(O)mhrip.o: $(MSWIN)\mhrip.c $(MSWIN)\$(@B).h $(MSWIN)\mhmsg.h $(MSWIN)\mhfont.h \
+               $(MSWIN)\resource.h $(WINDHDR) $(HACK_H)
+$(O)mhsplash.o: $(MSWIN)\mhsplash.c $(MSWIN)\$(@B).h $(MSWIN)\mhmsg.h $(MSWIN)\mhfont.h \
+               $(MSWIN)\resource.h $(WINDHDR) $(HACK_H) $(INCL)\patchlevel.h
+$(O)mhstatus.o: $(MSWIN)\mhstatus.c $(MSWIN)\$(@B).h $(MSWIN)\mhmsg.h $(MSWIN)\mhfont.h \
+               $(WINDHDR) $(HACK_H)
+$(O)mhtext.o: $(MSWIN)\mhtext.c $(MSWIN)\$(@B).h $(MSWIN)\mhmsg.h $(MSWIN)\mhfont.h \
+               $(WINDHDR) $(HACK_H)
+$(O)mswproc.o: $(MSWIN)\mswproc.c $(ALL_GUIHDR) $(MSWIN)\resource.h $(WINDHDR) $(HACK_H)
+$(O)NetHackW.o: $(MSWIN)\NetHackW.c $(ALL_GUIHDR) $(MSWIN)\resource.h $(WINDHDR) $(HACK_H)
+
+#if you aren't linking in the full tty then
+#include the following stub for proper linkage.
+
+$(O)ttystub.o: $(WINDHDR) $(HACK_H) $(MSWSYS)\stubs.c
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -DTTYSTUB -Fo$@ $(MSWSYS)\stubs.c
+
+#===================================================================
+# sys/share dependencies
+#===================================================================
+
+(O)cppregex.o: $(O)cppregex.cpp $(HACK_H)
+       @$(CC) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ ..\sys\share\cppregex.cpp
+
+#===================================================================
+# curses window port dependencies
+#===================================================================
+
+$(O)cursdial.o: $(WCURSES)\cursdial.c $(WCURSES)\cursdial.h $(INCL)\wincurs.h
+$(O)cursinit.o: $(WCURSES)\cursinit.c $(WCURSES)\cursinit.h $(INCL)\wincurs.h
+$(O)cursinvt.o: $(WCURSES)\cursinvt.c $(WCURSES)\cursinvt.h $(INCL)\wincurs.h
+$(O)cursmain.o: $(WCURSES)\cursmain.c $(INCL)\wincurs.h
+$(O)cursmesg.o: $(WCURSES)\cursmesg.c $(WCURSES)\cursmesg.h $(INCL)\wincurs.h
+$(O)cursmisc.o: $(WCURSES)\cursmisc.c $(WCURSES)\cursmisc.h $(INCL)\wincurs.h
+$(O)cursstat.o: $(WCURSES)\cursstat.c $(WCURSES)\cursstat.h $(INCL)\wincurs.h
+$(O)curswins.o: $(WCURSES)\curswins.c $(WCURSES)\curswins.h $(INCL)\wincurs.h
+
+#===================================================================
+# save dependencies
+#===================================================================
+
+$(O)sfstruct.o: $(HACK_H) $(SRC)\sfstruct.c
+#      @$(cc) $(cflagsBuild) -Fo$@ $(SRC)\sfstruct.c
+
 #===============================================================================
 # CROSSCOMPILE
 #===============================================================================
@@ -1431,6 +1510,97 @@ $(O)mdlib.o: $(SRC)\mdlib.c
        @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $(SRC)\mdlib.c
 #      @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) /EP -Fo$@ $(SRC)\mdlib.c >mdlib.c.preprocessed
 
+#============================================
+# util dual-role CROSSCOMPILE dependencies
+#============================================
+#
+# These have dual-roles and need to be build for host and target platforms.
+#
+!IFDEF CROSSCOMPILE_HOST
+$(O)panic$(HOST).o:  $(U)panic.c $(CONFIG_H)
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(U)panic.c
+!ENDIF
+
+$(O)panic.o:  $(U)panic.c $(CONFIG_H)
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $(U)panic.c
+
+
+!IFDEF CROSSCOMPILE_HOST
+$(O)drawing$(HOST).o: drawing.c $(HACK_H) $(INCL)\tcap.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ drawing.c
+!ENDIF
+
+$(O)drawing.o: drawing.c $(HACK_H) $(INCL)\tcap.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ drawing.c
+
+!IFDEF CROSSCOMPILE_HOST
+$(O)decl$(HOST).o: decl.c $(HACK_H)
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ decl.c
+!ENDIF
+
+$(O)decl.o: decl.c $(HACK_H)
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ decl.c
+
+!IFDEF CROSSCOMPILE_HOST
+$(O)monst$(HOST).o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
+               $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
+               $(INCL)\color.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ monst.c
+!ENDIF
+
+$(O)monst.o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
+               $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
+               $(INCL)\color.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ monst.c
+
+!IFDEF CROSSCOMPILE_HOST
+$(O)objects$(HOST).o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
+               $(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ objects.c
+!ENDIF
+
+$(O)objects.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
+               $(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ objects.c
+
+!IFDEF CROSSCOMPILE_HOST
+$(O)alloc$(HOST).o: alloc.c $(CONFIG_H)
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
+!ENDIF
+
+$(O)alloc.o: alloc.c $(CONFIG_H)
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
+
+$(O)version.o: version.c $(HACK_H) $(INCL)\dlb.h $(INCL)\date.h \
+               $(INCL)\patchlevel.h
+       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ version.c
+
+#===================================================================
+# DAT dependencies
+#===================================================================
+
+#
+# dat dependencies
+#
+
+$(DAT)\data: $(O)utility.tag    $(DATABASE)
+       $(U)makedefs -d
+
+$(DAT)\rumors: $(O)utility.tag    $(DAT)\rumors.tru   $(DAT)\rumors.fal
+       $(U)makedefs -r
+
+$(DAT)\oracles: $(O)utility.tag    $(DAT)\oracles.txt
+       $(U)makedefs -h
+
+$(DAT)\engrave: $(DAT)\engrave.txt $(U)makedefs.exe
+       $(U)makedefs -s
+
+$(DAT)\epitaph: $(DAT)\epitaph.txt $(U)makedefs.exe
+       $(U)makedefs -s
+
+$(DAT)\bogusmon: $(DAT)\bogusmon.txt $(U)makedefs.exe
+       $(U)makedefs -s
+
 #===============================================================================
 # Housekeeping
 #===============================================================================
@@ -1480,7 +1650,7 @@ spotless: clean
        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
+       if exist $(U)dlb.exe             del $(U)dlb.exe
 !IF "$(ADD_CURSES)" == "Y"     
        if exist $(O)pdcurses.lib        del $(O)pdcurses.lib
 !ENDIF
@@ -1503,8 +1673,8 @@ clean:
        if exist $(SRC)\*.map      del $(SRC)\*.map
        if exist $(O)install.tag   del $(O)install.tag
        if exist $(O)console.res  del $(O)console.res
-       if exist $(O)dlb_main.MAP del $(O)dlb_main.MAP
-       if exist $(O)dlb_main.PDB del $(O)dlb_main.PDB
+       if exist $(O)dlb.MAP      del $(O)dlb.MAP
+       if exist $(O)dlb.PDB      del $(O)dlb.PDB
        if exist $(O)gamedir.tag  del $(O)gamedir.tag
        if exist $(O)makedefs.MAP del $(O)makedefs.MAP
        if exist $(O)makedefs.PDB del $(O)makedefs.PDB
@@ -1535,164 +1705,6 @@ clean:
 #===================================================================
 # OTHER DEPENDENCIES
 #===================================================================
-
-#
-# dat dependencies
-#
-
-$(DAT)\data: $(O)utility.tag    $(DATABASE)
-       $(U)makedefs -d
-
-$(DAT)\rumors: $(O)utility.tag    $(DAT)\rumors.tru   $(DAT)\rumors.fal
-       $(U)makedefs -r
-
-!IFNDEF LUA_QTEXT_FILE
-$(DAT)\quest.dat: $(O)utility.tag  $(DAT)\quest.txt
-       $(U)makedefs -q
-!ENDIF
-
-$(DAT)\oracles: $(O)utility.tag    $(DAT)\oracles.txt
-       $(U)makedefs -h
-
-$(DAT)\engrave: $(DAT)\engrave.txt $(U)makedefs.exe
-       $(U)makedefs -s
-
-$(DAT)\epitaph: $(DAT)\epitaph.txt $(U)makedefs.exe
-       $(U)makedefs -s
-
-$(DAT)\bogusmon: $(DAT)\bogusmon.txt $(U)makedefs.exe
-       $(U)makedefs -s
-
-!IFDEF OBSOLETE_DGN_COMPILER
-$(DAT)\dungeon: $(O)utility.tag  $(DAT)\dungeon.def
-       $(U)makedefs -e
-       cd $(DAT)
-       $(U)dgncomp dungeon.pdf
-       cd $(SRC)
-!ENDIF
-
-#
-# NT dependencies
-#
-
-$(O)nttty.o:   $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h $(MSWSYS)\nttty.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -I$(WSHR) -Fo$@  $(MSWSYS)\nttty.c
-$(O)winnt.o: $(HACK_H) $(MSWSYS)\win32api.h $(MSWSYS)\winnt.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -I$(MSWSYS) -I$(MSWIN) -Fo$@ $(MSWSYS)\win10.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@  $(MSWSYS)\winnt.c
-$(O)ntsound.o: $(HACK_H) $(MSWSYS)\ntsound.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $(MSWSYS)\ntsound.c
-$(O)windmain.o: $(MSWSYS)\windmain.c $(HACK_H)
-
-#if you aren't linking in the full gui then
-#include the following stub for proper linkage.
-
-$(O)guistub.o: $(HACK_H) $(MSWSYS)\stubs.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -DGUISTUB -Fo$@ $(MSWSYS)\stubs.c
-
-#
-# WIN32 dependencies
-#
-
-$(O)NetHackW.o: $(HACK_H) $(MSWIN)\NetHackW.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -I$(MSWSYS) -I$(MSWIN) -Fo$@ $(MSWIN)\NetHackW.c
-
-#if you aren't linking in the full tty then
-#include the following stub for proper linkage.
-
-$(O)ttystub.o: $(HACK_H) $(MSWSYS)\stubs.c
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -DTTYSTUB -Fo$@ $(MSWSYS)\stubs.c
-
-#
-#============================================
-# save dependencies
-#============================================
-
-$(O)sfstruct.o: $(HACK_H) $(SRC)\sfstruct.c
-#      @$(cc) $(cflagsBuild) -Fo$@ $(SRC)\sfstruct.c
-
-# 
-# util dependencies
-# These have dual-roles and need to be build for host and targt platforms.
-#
-
-!IFDEF CROSSCOMPILE_HOST
-$(O)panic$(HOST).o:  $(U)panic.c $(CONFIG_H)
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(U)panic.c
-!ENDIF
-
-$(O)panic.o:  $(U)panic.c $(CONFIG_H)
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $(U)panic.c
-
-
-!IFDEF CROSSCOMPILE_HOST
-$(O)drawing$(HOST).o: drawing.c $(HACK_H) $(INCL)\tcap.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ drawing.c
-!ENDIF
-
-$(O)drawing.o: drawing.c $(HACK_H) $(INCL)\tcap.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ drawing.c
-
-!IFDEF CROSSCOMPILE_HOST
-$(O)decl$(HOST).o: decl.c $(HACK_H)
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ decl.c
-!ENDIF
-
-$(O)decl.o: decl.c $(HACK_H)
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ decl.c
-
-!IFDEF CROSSCOMPILE_HOST
-$(O)monst$(HOST).o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
-               $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
-               $(INCL)\color.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ monst.c
-!ENDIF
-
-$(O)monst.o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
-               $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
-               $(INCL)\color.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ monst.c
-
-!IFDEF CROSSCOMPILE_HOST
-$(O)objects$(HOST).o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
-               $(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ objects.c
-!ENDIF
-
-$(O)objects.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
-               $(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ objects.c
-
-!IFDEF CROSSCOMPILE_HOST
-$(O)alloc$(HOST).o: alloc.c $(CONFIG_H)
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
-!ENDIF
-
-$(O)alloc.o: alloc.c $(CONFIG_H)
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
-
-$(O)version.o: version.c $(HACK_H) $(INCL)\dlb.h $(INCL)\date.h \
-               $(INCL)\patchlevel.h
-       @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ version.c
-
-# 
-# sys/share dependencies
-#
-
-(O)cppregex.o: $(O)cppregex.cpp $(HACK_H)
-       @$(CC) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ ..\sys\share\cppregex.cpp
-
-# 
-# curses window port dependencies
-#
-$(O)cursdial.o: $(WCURSES)\cursdial.c $(WCURSES)\cursdial.h $(INCL)\wincurs.h
-$(O)cursinit.o: $(WCURSES)\cursinit.c $(WCURSES)\cursinit.h $(INCL)\wincurs.h
-$(O)cursinvt.o: $(WCURSES)\cursinvt.c $(WCURSES)\cursinvt.h $(INCL)\wincurs.h
-$(O)cursmain.o: $(WCURSES)\cursmain.c $(INCL)\wincurs.h
-$(O)cursmesg.o: $(WCURSES)\cursmesg.c $(WCURSES)\cursmesg.h $(INCL)\wincurs.h
-$(O)cursmisc.o: $(WCURSES)\cursmisc.c $(WCURSES)\cursmisc.h $(INCL)\wincurs.h
-$(O)cursstat.o: $(WCURSES)\cursstat.c $(WCURSES)\cursstat.h $(INCL)\wincurs.h
-$(O)curswins.o: $(WCURSES)\curswins.c $(WCURSES)\curswins.h $(INCL)\wincurs.h
 #
 # The rest are stolen from sys/unix/Makefile.src, 
 # with the following changes:
@@ -2062,8 +2074,9 @@ $(O)mplayer.o: mplayer.c $(HACK_H)
 $(O)mthrowu.o: mthrowu.c $(HACK_H)
 $(O)muse.o: muse.c $(HACK_H)
 $(O)music.o: music.c $(HACK_H)
-$(O)nhlua.o: nhlua.c $(HACK_H) $(INCL)\dlb.h
+$(O)nhlobj.o: nhlobj.c $(HACK_H) $(INCL)\sp_lev.h
 $(O)nhlsel.o: nhlsel.c $(HACK_H) $(INCL)\sp_lev.h
+$(O)nhlua.o: nhlua.c $(HACK_H) $(INCL)\dlb.h
 $(O)o_init.o: o_init.c $(HACK_H)
 $(O)objects.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
                $(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h