diff --git a/sys/msdos/Makefile.GCC b/sys/msdos/Makefile.GCC index 6ec79a8e3..50a3b4b4f 100644 --- a/sys/msdos/Makefile.GCC +++ b/sys/msdos/Makefile.GCC @@ -3,7 +3,7 @@ # PC NetHack 3.4 Makefile for djgpp V2 # # Gnu gcc compiler for msdos (djgpp) -# Requires Gnu Make utility (V3.79 or greater) supplied with djgpp +# Requires Gnu Make utility (V3.79.1 or greater) supplied with djgpp # # For questions or comments: devteam@nethack.org # @@ -47,10 +47,6 @@ CC = gcc LINK = gcc MAKEBIN = make -# if you have a uudecode program, add its name here -# otherwise leave blank -UUDECODE = - # # Special libraries and how to link them in. @@ -70,7 +66,7 @@ LIBRARIES = $(LIBS) $(TERMLIB) # # If you have yacc/lex or a work-alike set YACC_LEX to Y # -YACC_LEX = N +YACC_LEX = Y # If YACC_LEX is Y above, set the following to values appropriate for # your tools. @@ -143,7 +139,6 @@ cflags = -c -O -I../include $(DLBFLG) -DUSE_TILES LFLAGS = endif - #========================================== #================ RULES ================== #========================================== @@ -212,10 +207,9 @@ O = $(OBJ)/ U = $(UTIL)/ - -# +#========================================== # Utility Objects. -# +#========================================== VGAOBJ = $(O)vidvga.o @@ -237,7 +231,9 @@ DGNCOMPOBJS = $(O)dgn_yacc.o $(O)dgn_$(LEX).o $(O)dgn_main.o $(O)alloc.o \ RECOVOBJS = $(O)recover.o +#========================================== # Tile related object files. +#========================================== ifeq ($(SUPPRESS_GRAPHICS),Y) TILOBJ = @@ -263,9 +259,9 @@ TEXTIO = $(O)tiletext.o $(O)tiletxt.o $(O)drawing.o $(O)decl.o $(O)monst.o TEXTIO2 = $(O)tiletex2.o $(O)tiletxt2.o $(O)drawing.o $(O)decl.o $(O)monst.o \ $(O)objects.o $(O)stubvid.o -PLANAR_TIB = $(O)NetHack1.tib +PLANAR_TIB = $(DAT)/NetHack1.tib -OVERVIEW_TIB = $(O)NetHacko.tib +OVERVIEW_TIB = $(DAT)/NetHacko.tib TILEUTIL = $(TILOBJ) $(U)tile2bin.exe $(U)til2bin2.exe $(PLANAR_TIB) $(OVERVIEW_TIB) @@ -384,9 +380,9 @@ DJ1 = $(dir $(DJGPP)) CWSDPMI = $(subst /,\,$(DJ1))bin\CWSDPMI.* endif -# +#========================================== # Primary Targets. -# +#========================================== # The default target. @@ -409,40 +405,41 @@ tileutil: $(U)gif2txt.exe $(U)txt2ppm.exe $(O)install.tag: $(O)dat.tag $(GAMEFILE) ifeq ($(USE_DLB),Y) - $(subst /,\,copy $(DAT)/nhdat $(GAMEDIR)) - $(subst /,\,copy $(DAT)/license $(GAMEDIR)) + @$(subst /,\,copy $(DAT)/nhdat $(GAMEDIR)) + @$(subst /,\,copy $(DAT)/license $(GAMEDIR)) else - $(subst /,\,copy $(DAT)/*. $(GAMEDIR)) - $(subst /,\,copy $(DAT)/*.dat $(GAMEDIR)) - $(subst /,\,copy $(DAT)/*.lev $(GAMEDIR)) - $(subst /,\,copy $(MSYS)/msdoshlp.txt $(GAMEDIR)) - $(subst /,\,if exist $(GAMEDIR)/makefile. del $(GAMEDIR)/makefile.) + @$(subst /,\,copy $(DAT)/*. $(GAMEDIR)) + @$(subst /,\,copy $(DAT)/*.dat $(GAMEDIR)) + @$(subst /,\,copy $(DAT)/*.lev $(GAMEDIR)) + @$(subst /,\,copy $(MSYS)/msdoshlp.txt $(GAMEDIR)) + @$(subst /,\,if exist $(GAMEDIR)/makefile. del $(GAMEDIR)/makefile.) endif ifdef TERMLIB - $(subst /,\,copy $(SSHR)/termcap $(GAMEDIR)) + @$(subst /,\,copy $(SSHR)/termcap $(GAMEDIR)) endif - $(subst /,\,if exist *.tib copy *.tib $(GAMEDIR)) - $(subst /,\,copy $(SSHR)/NetHack.cnf $(GAMEDIR)/defaults.nh) - $(subst /,\,copy $(MSYS)/NHAccess.nh $(GAMEDIR)) - $(subst /,\,copy $(U)recover.exe $(GAMEDIR)) - $(subst /,\,copy $(DOC)/guidebo*.txt $(GAMEDIR)) - $(subst /,\,if exist $(DOC)/recover.txt copy $(DOC)/recover.txt $(GAMEDIR)) - $(subst /,\,if exist $(DOC)/nethack.txt copy $(DOC)/nethack.txt $(GAMEDIR)) + @$(subst /,\,if exist $(DAT)/*.tib copy $(DAT)/*.tib $(GAMEDIR)) + @$(subst /,\,copy $(SSHR)/NetHack.cnf $(GAMEDIR)/defaults.nh) + @$(subst /,\,copy $(MSYS)/NHAccess.nh $(GAMEDIR)) + @$(subst /,\,copy $(U)recover.exe $(GAMEDIR)) + @$(subst /,\,copy $(DOC)/guidebo*.txt $(GAMEDIR)) + @$(subst /,\,if exist $(DOC)/recover.txt copy $(DOC)/recover.txt $(GAMEDIR)) + @$(subst /,\,if exist $(DOC)/nethack.txt copy $(DOC)/nethack.txt $(GAMEDIR)) ifdef CWSDPMI - $(subst /,\,if exist $(CWSDPMI) copy $(CWSDPMI) $(GAMEDIR)) + @$(subst /,\,if exist $(CWSDPMI) copy $(CWSDPMI) $(GAMEDIR)) else - $(subst /,\,echo Could not find a copy of CWSDPMI.EXE to put into $(GAMEDIR)) + @$(subst /,\,echo Could not find a copy of CWSDPMI.EXE to put into $(GAMEDIR)) endif - $(subst /,\,echo install done > $@) + @$(subst /,\,echo install done > $@) +#========================================== # The main target. - +#========================================== $(GAMEFILE): $(O)obj.tag $(PATCHLEV_H) $(O)utility.tag $(O)$(GAME).lnk $(LINK) $(LFLAGS) -o$(GAME).exe @$(O)$(GAME).lnk $(LIBRARIES) - $(subst /,\,stubedit $(GAME).exe minstack=2048K) - $(subst /,\,copy $(GAME).exe $(GAMEFILE)) - $(subst /,\,del $(GAME).exe) + @$(subst /,\,stubedit $(GAME).exe minstack=2048K) + @$(subst /,\,copy $(GAME).exe $(GAMEFILE)) + @$(subst /,\,del $(GAME).exe) $(O)$(GAME).lnk: $(ALLOBJ) echo $(VOBJ01) > $(subst /,\,$@) @@ -472,101 +469,59 @@ $(O)$(GAME).lnk: $(ALLOBJ) echo $(TILOBJ) >> $(subst /,\,$@) echo $(VVOBJ) >> $(subst /,\,$@) -# + +#========================================== # Housekeeping. -# +#========================================== clean: - $(subst /,\,copy $(SSHR)/dgn_lex.c $@) - $(subst /,\,del $(O)*.o) - $(subst /,\,del *.map) - $(subst /,\,del $(U)/dlb_main.exe) + $(subst /,\,if exist $(O)*.o del $(O)*.o) + $(subst /,\,if exist $(O)dat.tag del $(O)dat.tag) + $(subst /,\,if exist $(O)install.tag del $(O)install.tag) + $(subst /,\,if exist $(O)$(GAME).lnk del $(O)$(GAME).lnk) + $(subst /,\,if exist $(O)obj.tag del $(O)obj.tag) + $(subst /,\,if exist $(O)sp_lev.tag del $(O)sp_lev.tag) + $(subst /,\,if exist $(O)thintile.tag del $(O)thintile.tag) + $(subst /,\,if exist $(O)utility.tag del $(O)utility.tag) spotless: clean - $(subst /,\,if exist $(O)utility.tag del $(O)utility.tag) - $(subst /,\,if exist $(O)install.tag del $(O)install.tag) - $(subst /,\,if exist $(O)dat.tag del $(O)dat.tag) - $(subst /,\,if exist $(O)$(GAME).lnk del $(O)$(GAME).lnk) + + $(subst /,\,if exist $(U)lev_flex.c del $(U)lev_flex.c) + $(subst /,\,if exist $(U)lev_lex.c del $(U)lev_lex.c) + $(subst /,\,if exist $(U)lev_yacc.c del $(U)lev_yacc.c) + $(subst /,\,if exist $(U)dgn_flex.c del $(U)dgn_flex.c) + $(subst /,\,if exist $(U)dgn_lex.c del $(U)dgn_lex.c) + $(subst /,\,if exist $(U)dgn_yacc.c del $(U)lev_yacc.c) $(subst /,\,if exist $(U)makedefs.exe del $(U)makedefs.exe) $(subst /,\,if exist $(U)lev_comp.exe del $(U)lev_comp.exe) $(subst /,\,if exist $(U)dgn_comp.exe del $(U)dgn_comp.exe) - $(subst /,\,if exist $(U)/lev_lex.c del $(U)/lev_lex.c) - $(subst /,\,if exist $(U)/lev_flex.c del $(U)/lev_flex.c) - $(subst /,\,if exist $(U)/lev_yacc.c del $(U)/lev_yacc.c) - $(subst /,\,if exist $(U)/dgn_lex.c del $(U)/dgn_lex.c) - $(subst /,\,if exist $(U)/dgn_flex.c del $(U)/dgn_flex.c) - $(subst /,\,if exist $(U)/dgn_yacc.c del $(U)/dgn_yacc.c) $(subst /,\,if exist $(U)recover.exe del $(U)recover.exe) - $(subst /,\,if exist $(INCL)/onames.h del $(INCL)/onames.h) - $(subst /,\,if exist $(INCL)/pm.h del $(INCL)/pm.h) - $(subst /,\,if exist $(INCL)/vis_tab.h del $(INCL)/vis_tab.h) - $(subst /,\,if exist $(WSHR)/tile.h del $(WSHR)/tile.h) - $(subst /,\,if exist monstr.c del monstr.c) - $(subst /,\,if exist vis_tab.c del vis_tab.c) - $(subst /,\,if exist $(SRC)/panic.c del $(SRC)/panic.c) - $(subst /,\,if exist $(SRC)/makedefs.c del $(SRC)/makedefs.c) - $(subst /,\,if exist $(SRC)/recover.c del $(SRC)/recover.c) - $(subst /,\,if exist $(SRC)/lev_main.c del $(SRC)/lev_main.c) - $(subst /,\,if exist $(U)/dlb_main.c del $(U)/dlb_main.c) - $(subst /,\,if exist $(SRC)/dgn_main.c del $(SRC)/dgn_main.c) - $(subst /,\,if exist $(SRC)/wintty.c del $(SRC)/wintty.c) - $(subst /,\,if exist $(SRC)/topl.c del $(SRC)/topl.c) - $(subst /,\,if exist $(SRC)/getline.c del $(SRC)/getline.c) - $(subst /,\,if exist $(SRC)/termcap.c del $(SRC)/termcap.c) - $(subst /,\,if exist $(SRC)/tile2bin.c del $(SRC)/tile2bin.c) - $(subst /,\,if exist $(SRC)/msdos.c del $(SRC)/msdos.c) - $(subst /,\,if exist $(SRC)/pckeys.c del $(SRC)/pckeys.c) - $(subst /,\,if exist $(SRC)/video.c del $(SRC)/video.c) - $(subst /,\,if exist $(SRC)/vidtxt.c del $(SRC)/vidtxt.c) - $(subst /,\,if exist $(SRC)/vidvga.c del $(SRC)/vidvga.c) - $(subst /,\,if exist $(SRC)/sound.c del $(SRC)/sound.c) - $(subst /,\,if exist $(SRC)/tilemap.c del $(SRC)/tilemap.c) - $(subst /,\,if exist $(SRC)/gifread.c del $(SRC)/gifread.c) - $(subst /,\,if exist $(SRC)/ppmwrite.c del $(SRC)/ppmwrite.c) - $(subst /,\,if exist $(SRC)/pcmain.c del $(SRC)/pcmain.c) - $(subst /,\,if exist $(SRC)/pcunix.c del $(SRC)/pcunix.c) - $(subst /,\,if exist $(SRC)/pcsys.c del $(SRC)/pcsys.c) - $(subst /,\,if exist $(SRC)/pctty.c del $(SRC)/pctty.c) - $(subst /,\,if exist $(SRC)/tile.c del $(SRC)/tile.c) - $(subst /,\,if exist $(SRC)/tiletext.c del $(SRC)/tiletext.c) - $(subst /,\,if exist $(SRC)/pctiles.c del $(SRC)/pctiles.c) - $(subst /,\,if exist $(SRC)/thintile.c del $(SRC)/thintile.c) - $(subst /,\,if exist $(U)/thintile.exe del $(U)/thintile.exe) - $(subst /,\,if exist $(O)/thintile.tag del $(O)/thintile.tag) - $(subst /,\,if exist $(U)/til2bin2.exe del $(U)/til2bin2.exe) - $(subst /,\,if exist $(INCL)/date.h del $(INCL)/date.h) - $(subst /,\,if exist $(INCL)/onames.h del $(INCL)/onames.h) - $(subst /,\,if exist $(INCL)/pm.h del $(INCL)/pm.h) - $(subst /,\,if exist $(INCL)/vis_tab.h del $(INCL)/vis_tab.h) - $(subst /,\,if exist vis_tab.c del vis_tab.c) - $(subst /,\,if exist *.lnk del *.lnk) - $(subst /,\,if exist *.def del *.def) - $(subst /,\,if exist *.map del *.map) - $(subst /,\,if exist a.out del a.out) $(subst /,\,if exist $(U)tilemap.exe del $(U)tilemap.exe) $(subst /,\,if exist $(U)tile2bin.exe del $(U)tile2bin.exe) - $(subst /,\,if exist $(DAT)/data del $(DAT)/data) - $(subst /,\,if exist $(DAT)/*.lev del $(DAT)/*.lev) - $(subst /,\,if exist $(DAT)/dungeon del $(DAT)/dungeon) - $(subst /,\,if exist $(DAT)/options del $(DAT)/options) - $(subst /,\,if exist $(DAT)/oracles del $(DAT)/oracles) - $(subst /,\,if exist $(DAT)/rumors del $(DAT)/rumors) - $(subst /,\,if exist $(DAT)/quest.dat del $(DAT)/quest.dat) - $(subst /,\,if exist $(DAT)/nhdat del $(DAT)/nhdat) - $(subst /,\,if exist $(DAT)/dlb.lst del $(DAT)/dlb.lst) - $(subst /,\,if exist $(DAT)/msdoshlp.txt del $(DAT)/msdoshlp.txt) - $(subst /,\,if exist $(U)/dlb_main.exe del $(U)/dlb_main.exe) - $(subst /,\,if exist $(U)/lev_comp.exe del $(U)/lev_comp.exe) - $(subst /,\,if exist $(U)/dgn_comp.exe del $(U)/dgn_comp.exe) - $(subst /,\,if exist $(O)sp_lev.tag del $(O)sp_lev.tag) - $(subst /,\,if exist $(PLANAR_TIB) del $(PLANAR_TIB)) - $(subst /,\,if exist $(OVERVIEW_TIB) del $(OVERVIEW_TIB)) - $(subst /,\,if exist $(O)thintile.tag del $(O)thintile.tag) - $(subst /,\,if exist $(U)thintile.exe del $(U)thintile.exe) $(subst /,\,if exist $(U)til2bin2.exe del $(U)til2bin2.exe) + $(subst /,\,if exist $(U)thintile.exe del $(U)thintile.exe) + $(subst /,\,if exist $(U)dlb_main.exe del $(U)dlb_main.exe) + $(subst /,\,if exist $(INCL)/vis_tab.h del $(INCL)/vis_tab.h) + $(subst /,\,if exist $(INCL)/onames.h del $(INCL)/onames.h) + $(subst /,\,if exist $(INCL)/pm.h del $(INCL)/pm.h) + $(subst /,\,if exist $(INCL)/date.h del $(INCL)/date.h) $(subst /,\,if exist $(INCL)/dgn_comp.h del $(INCL)/dgn_comp.h) $(subst /,\,if exist $(INCL)/lev_comp.h del $(INCL)/lev_comp.h) + $(subst /,\,if exist $(SRC)/monstr.c del $(SRC)/monstr.c) + $(subst /,\,if exist $(SRC)/vis_tab.c del $(SRC)/vis_tab.c) + $(subst /,\,if exist $(SRC)/tile.c del $(SRC)/tile.c) + $(subst /,\,if exist $(DAT)/options del $(DAT)/options) + $(subst /,\,if exist $(DAT)/data del $(DAT)/data) + $(subst /,\,if exist $(DAT)/rumors del $(DAT)/rumors) $(subst /,\,if exist $(DAT)/dungeon.pdf del $(DAT)/dungeon.pdf) + $(subst /,\,if exist $(DAT)/dungeon del $(DAT)/dungeon) + $(subst /,\,if exist $(DAT)/oracles del $(DAT)/oracles) + $(subst /,\,if exist $(DAT)/quest.dat del $(DAT)/quest.dat) + $(subst /,\,if exist $(DAT)/dlb.lst del $(DAT)/dlb.lst) + $(subst /,\,if exist $(DAT)/nhdat del $(DAT)/nhdat) + $(subst /,\,if exist $(DAT)/*.lev del $(DAT)/*.lev) + $(subst /,\,if exist $(PLANAR_TIB) del $(PLANAR_TIB)) + $(subst /,\,if exist $(OVERVIEW_TIB) del $(OVERVIEW_TIB)) $(subst /,\,if exist $(WSHR)/monthin.txt del $(WSHR)/monthin.txt) $(subst /,\,if exist $(WSHR)/objthin.txt del $(WSHR)/objthin.txt) $(subst /,\,if exist $(WSHR)/oththin.txt del $(WSHR)/oththin.txt) @@ -576,9 +531,8 @@ spotless: clean #========================================== $(O)obj.tag: - $(subst /,\,@if not exist $(OBJ)/*.* echo creating directory $(OBJ)) - $(subst /,\,@if not exist $(OBJ)/*.* mkdir $(OBJ)) - $(subst /,\,@echo directory created > $@) + -$(subst /,\,@if not exist $(OBJ)/*.* mkdir $(OBJ)) + @$(subst /,\,@echo directory created > $@) #=========================================== # Work around some djgpp long file name woes @@ -615,9 +569,9 @@ $(INCL)/vis_tab.h: $(U)makedefs.exe vis_tab.c: $(U)makedefs.exe -$(subst /,\,$(U)makedefs -z) -# +#========================================== # Makedefs Stuff -# +#========================================== $(U)makedefs.exe: $(MAKEOBJS) $(LINK) $(LFLAGS) -o$@ $(MAKEOBJS) @@ -625,9 +579,9 @@ $(U)makedefs.exe: $(MAKEOBJS) $(O)makedefs.o: $(CONFIG_H) $(PERMONST_H) $(INCL)/objclass.h \ $(INCL)/monsym.h $(INCL)/qtext.h $(U)makedefs.c -# +#========================================== # Level Compiler Dependencies -# +#========================================== $(U)lev_comp.exe: $(SPLEVOBJS) $(LINK) $(LFLAGS) -o$@ $(SPLEVOBJS) @@ -655,100 +609,101 @@ ifeq "$(DO_YACC)" "YACC_ACT" $(INCL)/lev_comp.h: lev_yacc.c $(U)lev_yacc.c $(INCL)/lev_comp.h : $(U)lev_comp.y - $(subst /,\,chdir $(U)) & \ - $(subst /,\,$(YACC) -d lev_comp.y) & \ - $(subst /,\,copy $(YTABC) lev_yacc.c) & \ - $(subst /,\,copy $(YTABH) $(INCL)/lev_comp.h) & \ - $(subst /,\,@del $(YTABC)) & \ - $(subst /,\,@del $(YTABH)) & \ - $(subst /,\,chdir $(SRC)) + @$(subst /,\,chdir $(U)) & \ + @$(subst /,\,$(YACC) -d lev_comp.y) & \ + @$(subst /,\,copy $(YTABC) lev_yacc.c) & \ + @$(subst /,\,copy $(YTABH) $(INCL)/lev_comp.h) & \ + @$(subst /,\,@del $(YTABC)) & \ + @$(subst /,\,@del $(YTABH)) & \ + @$(subst /,\,chdir $(SRC)) else $(U)lev_yacc.c: $(SSHR)/lev_yacc.c @echo --- @echo For now, we will copy the prebuilt @echo lev_comp.c from $(SSHR) into $(U) and use that. - $(subst /,\,copy $(SSHR)/lev_yacc.c $(U)lev_yacc.c) - $(subst /,\,echo.>>$(U)lev_yacc.c) + @$(subst /,\,copy $(SSHR)/lev_yacc.c $(U)lev_yacc.c) + @$(subst /,\,echo.>>$(U)lev_yacc.c) $(INCL)/lev_comp.h : $(SSHR)/lev_comp.h @echo --- @echo For now, we will copy the prebuilt lev_comp.h @echo from $(SSHR) into $(INCL) and use that. - $(subst /,\,copy $(SSHR)/lev_comp.h $(INCL)/lev_comp.h) - $(subst /,\,echo.>>$(INCL)/lev_comp.h) + @$(subst /,\,copy $(SSHR)/lev_comp.h $(INCL)/lev_comp.h) + @$(subst /,\,echo.>>$(INCL)/lev_comp.h) endif $(U)lev_$(LEX).c: $(U)lev_comp.l ifeq "$(DO_LEX)" "LEX_ACT" - $(subst /,\,chdir $(U)) & \ - $(subst /,\,$(LEX) $(FLEXSKEL) lev_comp.l) & \ - $(subst /,\,copy $(LEXYYC) $@) & \ - $(subst /,\,@del $(LEXYYC)) & \ - $(subst /,\,chdir $(SRC)) + @$(subst /,\,chdir $(U)) & \ + @$(subst /,\,$(LEX) $(FLEXSKEL) lev_comp.l) & \ + @$(subst /,\,copy $(LEXYYC) $@) & \ + @$(subst /,\,@del $(LEXYYC)) & \ + @$(subst /,\,chdir $(SRC)) else @echo --- @echo For now, we will copy the prebuilt lev_lex.c @echo from $(SSHR) into $(U) and use it. - $(subst /,\,copy $(SSHR)/lev_lex.c $@) - $(subst /,\,echo.>>$@) + @$(subst /,\,copy $(SSHR)/lev_lex.c $@) + @$(subst /,\,echo.>>$@) endif - -# +#========================================== # Dungeon Dependencies -# +#========================================== $(U)dgn_comp.exe: $(DGNCOMPOBJS) $(LINK) $(LFLAGS) -o$@ $(DGNCOMPOBJS) ifeq "$(DO_YACC)" "YACC_ACT" $(U)dgn_yacc.c $(INCL)/dgn_comp.h : $(U)dgn_comp.y - $(subst /,\,chdir $(U)) & \ - $(subst /,\,$(YACC) -d dgn_comp.y) & \ - $(subst /,\,copy $(YTABC) dgn_yacc.c) & \ - $(subst /,\,copy $(YTABH) $(INCL)/dgn_comp.h) & \ - $(subst /,\,@del $(YTABC)) & \ - $(subst /,\,@del $(YTABH)) & \ - $(subst /,\,chdir $(SRC)) + @$(subst /,\,chdir $(U)) & \ + @$(subst /,\,$(YACC) -d dgn_comp.y) & \ + @$(subst /,\,copy $(YTABC) dgn_yacc.c) & \ + @$(subst /,\,copy $(YTABH) $(INCL)/dgn_comp.h) & \ + @$(subst /,\,@del $(YTABC)) & \ + @$(subst /,\,@del $(YTABH)) & \ + @$(subst /,\,chdir $(SRC)) else $(U)dgn_yacc.c: $(SSHR)/dgn_yacc.c @echo --- @echo For now, we will copy the prebuilt $(U)dgn_yacc.c and @echo dgn_comp.h from $(SSHR) into $(U) and use that. - $(subst /,\,copy $(SSHR)/dgn_yacc.c $(U)dgn_yacc.c) - $(subst /,\,echo.>>$(U)dgn_yacc.c) + @$(subst /,\,copy $(SSHR)/dgn_yacc.c $(U)dgn_yacc.c) + @$(subst /,\,echo.>>$(U)dgn_yacc.c) $(INCL)/dgn_comp.h: $(SSHR)/dgn_comp.h + @echo --- @echo For now, we will copy the prebuilt dgn_comp.h @echo from $(SSHR) into $(INCL) and use that. - $(subst /,\,copy $(SSHR)/dgn_comp.h $(INCL)/dgn_comp.h) - $(subst /,\,echo.>>$(INCL)/dgn_comp.h) + @$(subst /,\,copy $(SSHR)/dgn_comp.h $(INCL)/dgn_comp.h) + @$(subst /,\,echo.>>$(INCL)/dgn_comp.h) endif ifeq "$(DO_LEX)" "LEX_ACT" $(U)dgn_$(LEX).c: $(U)dgn_comp.l $(INCL)/dgn_comp.h - $(subst /,\,chdir $(U)) & \ - $(subst /,\,$(LEX) $(FLEXSKEL) dgn_comp.l) & \ - $(subst /,\,copy $(LEXYYC) $@) & \ - $(subst /,\,@del $(LEXYYC)) & \ - $(subst /,\,chdir $(SRC)) + @$(subst /,\,chdir $(U)) & \ + @$(subst /,\,$(LEX) $(FLEXSKEL) dgn_comp.l) & \ + @$(subst /,\,copy $(LEXYYC) $@) & \ + @$(subst /,\,@del $(LEXYYC)) & \ + @$(subst /,\,chdir $(SRC)) else $(U)dgn_$(LEX).c: $(SSHR)/dgn_lex.c $(INCL)/dgn_comp.h + @echo --- @echo For now, we will copy the prebuilt dgn_lex.c @echo from $(SSHR) into $(U) and use it. - $(subst /,\,copy $(SSHR)/dgn_lex.c $@) - $(subst /,\,echo.>>$@) + @$(subst /,\,copy $(SSHR)/dgn_lex.c $@) + @$(subst /,\,echo.>>$@) endif -# +#========================================== # Recover Utility -# +#========================================== $(U)recover.exe: $(RECOVOBJS) $(LINK) $(LFLAGS) -o$@ $(O)recover.o @@ -756,10 +711,10 @@ $(U)recover.exe: $(RECOVOBJS) $(O)recover.o: $(CONFIG_H) $(U)recover.c $(CC) $(cflags) -o$@ $(U)recover.c - -# +#========================================== # Header file moves required for tile support -# +#========================================== + ifeq ($(SUPPRESS_GRAPHICS),Y) else @@ -777,20 +732,23 @@ $(U)tilemap.exe: $(O)tilemap.o $(O)tilemap.o: $(WSHR)/tilemap.c $(HACK_H) $(TILE_H) $(CC) $(cflags) -I$(WSHR) -I$(MSYS) -o$@ $(WSHR)/tilemap.c -# + +#========================================== # Tile Utilities -# -# # Required for tile support -# +#========================================== -$(O)NetHack1.tib: $(TILEFILES) $(U)tile2bin.exe +$(DAT)/NetHack1.tib: $(TILEFILES) $(U)tile2bin.exe @echo Creating binary tile files (this may take some time) + @$(subst /,\,chdir $(DAT)) @$(subst /,\,$(U)tile2bin.exe) + @$(subst /,\,chdir $(SRC)) -$(O)NetHacko.tib: $(O)thintile.tag $(TILEFILES2) $(U)til2bin2.exe +$(DAT)/NetHacko.tib: $(O)thintile.tag $(TILEFILES2) $(U)til2bin2.exe @echo Creating overview binary tile files (this may take some time) + @$(subst /,\,chdir $(DAT)) @$(subst /,\,$(U)til2bin2.exe) + @$(subst /,\,chdir $(SRC)) $(U)tile2bin.exe: $(O)tile2bin.o $(TEXTIO) $(LINK) $(LFLAGS) -o$@ $(O)tile2bin.o $(TEXTIO) @@ -805,7 +763,7 @@ $(O)thintile.o: $(HACK_H) $(WSHR)/tile.h $(WSHR)/thintile.c $(CC) $(cflags) -o$@ $(WSHR)/thintile.c $(O)thintile.tag: $(U)thintile.exe $(TILEFILES) - $(subst /,\,$(U)thintile.exe) + @$(subst /,\,$(U)thintile.exe) @$(subst /,\,echo thintiles created >$@) $(O)tile2bin.o: $(HACK_H) $(TILE_H) $(MSYS)/pctiles.h $(MSYS)/pcvideo.h $(MSYS)/tile2bin.c @@ -847,7 +805,7 @@ $(O)gifread2.o: $(CONFIG_H) $(WSHR)/tile.h $(WSHR)/gifread.c $(CC) $(cflags) -DTILE_X=8 -o$@ $(WSHR)/gifread.c ppmwrite.c: $(WSHR)/ppmwrite.c - $(subst /,\,copy $(WSHR)/ppmwrite.c .) + @$(subst /,\,copy $(WSHR)/ppmwrite.c .) $(O)ppmwrite.o: $(CONFIG_H) $(WSHR)/tile.h @@ -865,9 +823,9 @@ $(O)viewtib.o: $(MSYS)/viewtib.c endif -# +#========================================== # Other Util Dependencies. -# +#========================================== $(O)alloc.o: $(CONFIG_H) alloc.c $(CC) $(cflags) -o$@ alloc.c @@ -889,9 +847,9 @@ $(O)objects.o: $(CONFIG_H) $(INCL)/obj.h $(INCL)/objclass.h \ $(O)panic.o: $(CONFIG_H) $(U)panic.c -# -# make data.base an 8.3 filename to prevent an nmake warning -# +#============================================================ +# make data.base an 8.3 filename to prevent an make warning +#============================================================ DATABASE = $(DAT)/data.bas @@ -900,16 +858,16 @@ $(O)dat.tag: $(DAT)/nhdat @$(subst /,\,echo dat done >$@) $(DAT)/data: $(O)utility.tag $(DATABASE) - $(subst /,\,$(U)makedefs.exe -d) + @$(subst /,\,$(U)makedefs.exe -d) $(DAT)/rumors: $(O)utility.tag $(DAT)/rumors.tru $(DAT)/rumors.fal - $(subst /,\,$(U)makedefs.exe -r) + @$(subst /,\,$(U)makedefs.exe -r) $(DAT)/quest.dat: $(O)utility.tag $(DAT)/quest.txt - $(subst /,\,$(U)makedefs.exe -q) + @$(subst /,\,$(U)makedefs.exe -q) $(DAT)/oracles: $(O)utility.tag $(DAT)/oracles.txt - $(subst /,\,$(U)makedefs.exe -h) + @$(subst /,\,$(U)makedefs.exe -h) $(O)sp_lev.tag: $(O)utility.tag $(DAT)/bigroom.des $(DAT)/castle.des \ $(DAT)/endgame.des $(DAT)/gehennom.des $(DAT)/knox.des \ @@ -919,45 +877,47 @@ $(O)sp_lev.tag: $(O)utility.tag $(DAT)/bigroom.des $(DAT)/castle.des \ $(DAT)/monk.des $(DAT)/priest.des $(DAT)/ranger.des \ $(DAT)/rogue.des $(DAT)/samurai.des $(DAT)/tourist.des \ $(DAT)/valkyrie.des $(DAT)/wizard.des - $(subst /,\,cd $(DAT)) - $(subst /,\,$(U)lev_comp bigroom.des) - $(subst /,\,$(U)lev_comp castle.des) - $(subst /,\,$(U)lev_comp endgame.des) - $(subst /,\,$(U)lev_comp gehennom.des) - $(subst /,\,$(U)lev_comp knox.des) - $(subst /,\,$(U)lev_comp mines.des) - $(subst /,\,$(U)lev_comp medusa.des) - $(subst /,\,$(U)lev_comp oracle.des) - $(subst /,\,$(U)lev_comp sokoban.des) - $(subst /,\,$(U)lev_comp tower.des) - $(subst /,\,$(U)lev_comp yendor.des) - $(subst /,\,$(U)lev_comp arch.des) - $(subst /,\,$(U)lev_comp barb.des) - $(subst /,\,$(U)lev_comp caveman.des) - $(subst /,\,$(U)lev_comp healer.des) - $(subst /,\,$(U)lev_comp knight.des) - $(subst /,\,$(U)lev_comp monk.des) - $(subst /,\,$(U)lev_comp priest.des) - $(subst /,\,$(U)lev_comp ranger.des) - $(subst /,\,$(U)lev_comp rogue.des) - $(subst /,\,$(U)lev_comp samurai.des) - $(subst /,\,$(U)lev_comp tourist.des) - $(subst /,\,$(U)lev_comp valkyrie.des) - $(subst /,\,$(U)lev_comp wizard.des) - $(subst /,\,cd $(SRC)) - $(subst /,\,echo sp_levs done > $@) + @$(subst /,\,cd $(DAT)) + @$(subst /,\,$(U)lev_comp bigroom.des) + @$(subst /,\,$(U)lev_comp castle.des) + @$(subst /,\,$(U)lev_comp endgame.des) + @$(subst /,\,$(U)lev_comp gehennom.des) + @$(subst /,\,$(U)lev_comp knox.des) + @$(subst /,\,$(U)lev_comp mines.des) + @$(subst /,\,$(U)lev_comp medusa.des) + @$(subst /,\,$(U)lev_comp oracle.des) + @$(subst /,\,$(U)lev_comp sokoban.des) + @$(subst /,\,$(U)lev_comp tower.des) + @$(subst /,\,$(U)lev_comp yendor.des) + @$(subst /,\,$(U)lev_comp arch.des) + @$(subst /,\,$(U)lev_comp barb.des) + @$(subst /,\,$(U)lev_comp caveman.des) + @$(subst /,\,$(U)lev_comp healer.des) + @$(subst /,\,$(U)lev_comp knight.des) + @$(subst /,\,$(U)lev_comp monk.des) + @$(subst /,\,$(U)lev_comp priest.des) + @$(subst /,\,$(U)lev_comp ranger.des) + @$(subst /,\,$(U)lev_comp rogue.des) + @$(subst /,\,$(U)lev_comp samurai.des) + @$(subst /,\,$(U)lev_comp tourist.des) + @$(subst /,\,$(U)lev_comp valkyrie.des) + @$(subst /,\,$(U)lev_comp wizard.des) + @$(subst /,\,cd $(SRC)) + @$(subst /,\,echo sp_levs done > $@) $(DAT)/dungeon: $(O)utility.tag $(DAT)/dungeon.def - $(subst /,\,$(U)makedefs.exe -e) - $(subst /,\,cd $(DAT)) - $(subst /,\,$(U)dgn_comp.exe dungeon.pdf) - $(subst /,\,cd $(SRC)) -# + @$(subst /,\,$(U)makedefs.exe -e) + @$(subst /,\,cd $(DAT)) + @$(subst /,\,$(U)dgn_comp.exe dungeon.pdf) + @$(subst /,\,cd $(SRC)) + +#========================================== # DLB stuff -# +#========================================== + #note that dir below assumes bin/dir.exe from djgpp distribution # -$(DAT)/nhdat: $(U)/dlb_main.exe $(DAT)/data $(DAT)/rumors $(DAT)/dungeon \ +$(DAT)/nhdat: $(U)dlb_main.exe $(DAT)/data $(DAT)/rumors $(DAT)/dungeon \ $(DAT)/oracles $(DAT)/quest.dat $(O)sp_lev.tag @$(subst /,\,echo dat done >$(O)dat.tag) @$(subst /,\,cd $(DAT)) @@ -977,16 +937,18 @@ $(DAT)/nhdat: $(U)/dlb_main.exe $(DAT)/data $(DAT)/rumors $(DAT)/dungeon \ @$(subst /,\,echo license >>dlb.lst) @$(subst /,\,echo msdoshlp.txt >>dlb.lst) @$(subst /,\,$(LS) *.lev >>dlb.lst) - $(subst /,\,$(U)dlb_main cvIf dlb.lst nhdat) + @$(subst /,\,$(U)dlb_main cvIf dlb.lst nhdat) @$(subst /,\,cd $(SRC)) -$(U)/dlb_main.exe: $(DLBOBJS) +$(U)dlb_main.exe: $(DLBOBJS) $(LINK) $(LFLAGS) -o$@ $(DLBOBJS) $(O)dlb_main.o: $(U)dlb_main.c $(INCL)/config.h $(DLB_H) $(CC) $(cflags) -o$@ $(U)dlb_main.c +#========================================== # Game Dependencies +#========================================== # sys/share $(O)main.o: $(HACK_H) $(DLB_H) $(SSHR)/pcmain.c