1144 lines
29 KiB
Makefile
1144 lines
29 KiB
Makefile
# SCCS Id: @(#)Makefile.GCC 3.3 1999/11/06
|
|
# Copyright (c) NetHack PC Development Team 1996.
|
|
# PC NetHack 3.3 Makefile for djgpp V2
|
|
#
|
|
# Gnu gcc compiler for msdos (djgpp)
|
|
# Requires Gnu Make utility (V3.73 or greater) supplied with djgpp V2
|
|
#
|
|
# For questions or comments: devteam@nethack.org
|
|
#
|
|
# In addition to your C compiler,
|
|
#
|
|
# if you want to change you will need a
|
|
# files with suffix workalike for
|
|
# .y yacc
|
|
# .l lex
|
|
#
|
|
# Note that flex (lex) and bison (yacc) are included with the
|
|
# djgpp distribution and work quite well. This makefile assumes
|
|
# you have them installed correctly.
|
|
|
|
# Game Installation Variables
|
|
# NOTE: Make sure GAMEDIR exists before make is started.
|
|
|
|
GAME = nethack
|
|
# The GNU Make has a problem if you include a drive spec below (unfortunately).
|
|
GAMEDIR = \games\nethackd
|
|
|
|
#
|
|
# Directories, gcc likes unix style directory specs
|
|
#
|
|
|
|
DDAT = ../dat
|
|
DUTIL = ../util
|
|
DSRC = ../src
|
|
DINCL = ../include
|
|
|
|
# But we must use dos directory specs to find src files, so....
|
|
|
|
DAT = ..\dat
|
|
DOC = ..\doc
|
|
INCL = ..\include
|
|
MSYS = ..\sys\msdos
|
|
SRC = ..\src
|
|
SSHR = ..\sys\share
|
|
UTIL = ..\util
|
|
WIN = ..\win\tty
|
|
WSHR = ..\win\share
|
|
|
|
#
|
|
# Executables.
|
|
|
|
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.
|
|
|
|
LIBS = -lpc
|
|
|
|
# If TERMLIB is defined in pcconf.h, comment out the upper line and
|
|
# uncomment the lower. Note that you must build the termc library
|
|
# and place it in djgpp's lib directory. See termcap.zip for details
|
|
|
|
TERMLIB =
|
|
#TERMLIB = -ltermc
|
|
|
|
LIBRARIES = $(LIBS) $(TERMLIB)
|
|
|
|
#
|
|
# Yacc/Lex ... if you got 'em.
|
|
#
|
|
# If you have yacc/lex or a work-alike set YACC_LEX to Y
|
|
#
|
|
YACC_LEX = N
|
|
|
|
# If YACC_LEX is Y above, set the following to values appropriate for
|
|
# your tools.
|
|
#
|
|
YACC = bison -y
|
|
LEX = flex
|
|
YTABC = y_tab.c
|
|
YTABH = y_tab.h
|
|
LEXYYC = lexyy.c
|
|
|
|
#
|
|
# Uncomment the line below if you want to store all the level files,
|
|
# help files, etc. in a single library file.
|
|
|
|
USE_DLB = Y
|
|
|
|
# djgpp ships with an ls.exe command so changing this should
|
|
# not be necessary
|
|
|
|
LS = ls -1 # ls.exe from djgpp distribution
|
|
#LS = dir /l/b # DOS command
|
|
|
|
# To build a binary without any graphics
|
|
# suitable for blind players,
|
|
# set SUPPRESS_GRAPHICS to Y
|
|
# (Note: binary will require ANSI.SYS driver or equivalent loaded)
|
|
# SUPPRESS_GRAPHICS = Y
|
|
SUPPRESS_GRAPHICS =
|
|
|
|
#############################################################################
|
|
#
|
|
# nothing below this line should have to be changed
|
|
#
|
|
|
|
GAMEFILE = $(GAMEDIR)\$(GAME).exe
|
|
|
|
# Changing this conditional block is not recommended
|
|
ifeq ($(USE_DLB),Y)
|
|
DLBFLG = -DDLB
|
|
else
|
|
DLBFLG =
|
|
endif
|
|
|
|
#
|
|
# Flags.
|
|
#
|
|
ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
TERMLIB =
|
|
# Build NetHack suitable for blind players
|
|
|
|
# Debugging
|
|
#CFLAGS = -pg -c -I../include $(DLBFLG) -DSUPPRESS_GRAPHICS
|
|
#LFLAGS = -pg
|
|
|
|
CFLAGS = -c -O -I../include $(DLBFLG) -DSUPPRESS_GRAPHICS
|
|
LFLAGS =
|
|
|
|
else
|
|
|
|
# Debugging
|
|
#CFLAGS = -pg -c -I../include $(DLBFLG) -DUSE_TILES
|
|
#LFLAGS = -pg
|
|
|
|
# Normal
|
|
CFLAGS = -c -O -I../include $(DLBFLG) -DUSE_TILES
|
|
LFLAGS =
|
|
endif
|
|
|
|
#
|
|
# Utility Objects.
|
|
#
|
|
|
|
VGAOBJ = vidvga.o
|
|
|
|
MAKESRC = makedefs.c
|
|
|
|
SPLEVSRC = lev_yacc.c lev_$(LEX).c lev_main.c panic.c
|
|
|
|
DGNCOMPSRC = dgn_yacc.c dgn_$(LEX).c dgn_main.c
|
|
|
|
MAKEOBJS = makedefs.o monst.o objects.o
|
|
|
|
SPLEVOBJS = lev_yacc.o lev_$(LEX).o lev_main.o alloc.o \
|
|
monst.o objects.o panic.o \
|
|
drawing.o decl.o stubvid.o
|
|
|
|
DGNCOMPOBJS = dgn_yacc.o dgn_$(LEX).o dgn_main.o alloc.o \
|
|
panic.o
|
|
|
|
RECOVOBJS = recover.o
|
|
|
|
|
|
# Tile related object files.
|
|
|
|
ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
TILOBJ =
|
|
TEXTIO =
|
|
TEXTIO2 =
|
|
PLANAR_TIB =
|
|
OVERVIEW_TIB =
|
|
TILEUTIL =
|
|
TILEFILES =
|
|
TILEFILES2 =
|
|
GIFREADERS =
|
|
GIFREAD2 =
|
|
PPMWRITERS =
|
|
PPMWRIT2 =
|
|
|
|
else
|
|
|
|
TILOBJ = tile.o pctiles.o $(VGAOBJ)
|
|
|
|
TEXTIO = tiletext.o tiletxt.o drawing.o decl.o monst.o objects.o stubvid.o
|
|
|
|
TEXTIO2 = tiletex2.o tiletxt2.o drawing.o decl.o monst.o objects.o stubvid.o
|
|
|
|
|
|
PLANAR_TIB = NetHack1.tib
|
|
|
|
OVERVIEW_TIB = NetHacko.tib
|
|
|
|
TILEUTIL = $(TILOBJ) tile2bin.exe til2bin2.exe $(PLANAR_TIB) $(OVERVIEW_TIB)
|
|
|
|
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
|
|
|
TILEFILES2 = $(WSHR)\monthin.txt $(WSHR)\objthin.txt $(WSHR)\oththin.txt
|
|
|
|
GIFREADERS = gifread.o alloc.o panic.o
|
|
|
|
GIFREAD2 = gifread2.o alloc.o panic.o
|
|
|
|
PPMWRITERS = ppmwrite.o alloc.o panic.o
|
|
|
|
PPMWRIT2 = ppmwrit2.o alloc.o panic.o
|
|
endif
|
|
|
|
|
|
DLBOBJ = dlb.o
|
|
|
|
# Object files for the game itself.
|
|
|
|
VOBJ01 = allmain.o alloc.o apply.o artifact.o attrib.o
|
|
VOBJ02 = ball.o bones.o botl.o cmd.o dbridge.o
|
|
VOBJ03 = decl.o detect.o display.o do.o do_name.o
|
|
VOBJ04 = do_wear.o dog.o dogmove.o dokick.o dothrow.o
|
|
VOBJ05 = drawing.o dungeon.o eat.o end.o engrave.o
|
|
VOBJ06 = exper.o explode.o extralev.o files.o fountain.o
|
|
VOBJ07 = getline.o hack.o hacklib.o invent.o lock.o
|
|
VOBJ08 = mail.o main.o makemon.o mapglyph.o mcastu.o mhitm.o
|
|
VOBJ09 = mhitu.o minion.o mkmap.o mklev.o mkmaze.o
|
|
VOBJ10 = mkobj.o mkroom.o mon.o mondata.o monmove.o
|
|
VOBJ11 = monst.o monstr.o mplayer.o mthrowu.o muse.o
|
|
VOBJ12 = music.o o_init.o objects.o objnam.o options.o
|
|
VOBJ13 = pickup.o pline.o polyself.o potion.o quest.o
|
|
VOBJ14 = questpgr.o pager.o pray.o priest.o read.o
|
|
VOBJ15 = rect.o restore.o rip.o rnd.o role.o
|
|
VOBJ16 = rumors.o save.o shk.o shknam.o sit.o
|
|
VOBJ17 = sounds.o sp_lev.o spell.o steal.o steed.o
|
|
VOBJ18 = termcap.o timeout.o topl.o topten.o track.o
|
|
VOBJ19 = trap.o u_init.o uhitm.o vault.o vision.o
|
|
VOBJ20 = vis_tab.o weapon.o were.o wield.o windows.o
|
|
VOBJ21 = wintty.o wizard.o worm.o worn.o write.o
|
|
VOBJ22 = zap.o light.o dlb.o dig.o teleport.o
|
|
VOBJ23 = region.o
|
|
|
|
SOBJ = msdos.o sound.o sys.o tty.o unix.o video.o \
|
|
vidtxt.o pckeys.o
|
|
|
|
VVOBJ = version.o
|
|
|
|
VOBJ = $(VOBJ01) $(VOBJ02) $(VOBJ03) $(VOBJ04) $(VOBJ05) \
|
|
$(VOBJ06) $(VOBJ07) $(VOBJ08) $(VOBJ09) $(VOBJ10) \
|
|
$(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) $(VOBJ15) \
|
|
$(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ19) $(VOBJ20) \
|
|
$(VOBJ21) $(VOBJ22) $(VOBJ23)
|
|
|
|
ALLOBJ = $(VOBJ) $(SOBJ) $(TILOBJ) $(VVOBJ)
|
|
|
|
#
|
|
# Header Objects.
|
|
#
|
|
|
|
DGN_FILE_H = $(INCL)\align.h $(INCL)\dgn_file.h
|
|
DUNGEON_H = $(INCL)\align.h $(INCL)\dungeon.h
|
|
EMIN_H = $(DUNGEON_H) $(INCL)\emin.h
|
|
EPRI_H = $(DUNGEON_H) $(INCL)\align.h $(INCL)\epri.h
|
|
ESHK_H = $(DUNGEON_H) $(INCL)\eshk.h
|
|
MONDATA_H = $(INCL)\align.h $(INCL)\mondata.h
|
|
MONST_H = $(INCL)\align.h $(INCL)\monst.h
|
|
PERMONST_H = $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\align.h \
|
|
$(INCL)\permonst.h
|
|
REGION_H = $(INCL)\region.h
|
|
RM_H = $(INCL)\align.h $(INCL)\rm.h
|
|
SKILLS_H = $(INCL)\skills.h
|
|
SP_LEV_H = $(INCL)\align.h $(INCL)\sp_lev.h
|
|
VAULT_H = $(DUNGEON_H) $(INCL)\vault.h
|
|
YOUPROP_H = $(PERMONST_H) $(MONDATA_H) $(INCL)\prop.h \
|
|
$(INCL)\pm.h $(INCL)\youprop.h
|
|
YOU_H = $(MONST_H) $(YOUPROP_H) $(INCL)\align.h \
|
|
$(INCL)\attrib.h $(INCL)\you.h
|
|
DISPLAY_H = $(MONDATA_H) $(INCL)\vision.h $(INCL)\display.h
|
|
PCCONF_H = $(INCL)\micro.h $(INCL)\system.h $(INCL)\pcconf.h \
|
|
$(INCL)\pcvideo.h
|
|
CONFIG_H = $(GLOBAL_H) $(INCL)\tradstdc.h $(INCL)\config1.h \
|
|
$(INCL)\config.h
|
|
DECL_H = $(YOU_H) $(INCL)\spell.h $(INCL)\color.h \
|
|
$(INCL)\obj.h $(INCL)\onames.h $(INCL)\pm.h \
|
|
$(INCL)\decl.h
|
|
GLOBAL_H = $(PCCONF_H) $(INCL)\coord.h $(INCL)\global.h
|
|
HACK_H = $(CONFIG_H) $(DUNGEON_H) $(DECL_H) \
|
|
$(DISPLAY_H) $(INCL)\monsym.h $(INCL)\mkroom.h \
|
|
$(INCL)\objclass.h $(INCL)\trap.h $(INCL)\flag.h \
|
|
$(RM_H) $(INCL)\vision.h $(INCL)\wintype.h \
|
|
$(INCL)\engrave.h $(INCL)\rect.h \
|
|
$(INCL)\trampoli.h $(INCL)\hack.h $(REGION_H)
|
|
DLB_H = $(INCL)\dlb.h
|
|
|
|
ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
TILE_H =
|
|
else
|
|
TILE_H = $(INCL)\tile.h $(INCL)\pctiles.h
|
|
endif
|
|
|
|
ifeq ($(USE_DLB),Y)
|
|
DLB = dlb
|
|
DLBOBJS = dlb_main.o dlb.o alloc.o panic.o
|
|
else
|
|
DLB =
|
|
DLBOBJS =
|
|
endif
|
|
|
|
ifdef DJGPP
|
|
DJ1 = $(dir $(DJGPP))
|
|
CWSDPMI = $(subst /,\,$(DJ1))bin\CWSDPMI.*
|
|
endif
|
|
|
|
#
|
|
# Make Rules.
|
|
#
|
|
|
|
.SUFFIXES: .exe .o .c .y .l
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -o$@ $<
|
|
|
|
#.phony: dlb
|
|
|
|
#
|
|
# Primary Targets.
|
|
#
|
|
|
|
# The default target.
|
|
|
|
default: $(GAMEFILE)
|
|
|
|
all: install.tag
|
|
|
|
util: utility.tag
|
|
|
|
install: install.tag
|
|
|
|
utility.tag: $(INCL)\date.h $(INCL)\trap.h $(INCL)\onames.h \
|
|
$(INCL)\pm.h monstr.c vis_tab.c \
|
|
lev_comp.exe dgn_comp.exe recover.exe $(TILEUTIL)
|
|
echo utilities made > utility.tag
|
|
|
|
tileutil: gif2txt.exe txt2ppm.exe
|
|
@echo Optional tile development utilities are up to date.
|
|
|
|
install.tag: dat.tag $(GAMEFILE)
|
|
ifeq ($(USE_DLB),Y)
|
|
copy $(DAT)\nhdat $(GAMEDIR)
|
|
copy $(DAT)\license $(GAMEDIR)
|
|
else
|
|
copy $(DAT)\*. $(GAMEDIR)
|
|
copy $(DAT)\*.dat $(GAMEDIR)
|
|
copy $(DAT)\*.lev $(GAMEDIR)
|
|
copy $(MSYS)\msdoshlp.txt $(GAMEDIR)
|
|
if exist $(GAMEDIR)\makefile. del $(GAMEDIR)\makefile.
|
|
endif
|
|
ifdef TERMLIB
|
|
copy $(SSHR)\termcap $(GAMEDIR)
|
|
endif
|
|
if exist *.tib copy *.tib $(GAMEDIR)
|
|
copy $(SSHR)\NetHack.cnf $(GAMEDIR)\defaults.nh
|
|
copy $(MSYS)\NHAccess.nh $(GAMEDIR)
|
|
copy recover.exe $(GAMEDIR)
|
|
copy $(DOC)\guidebo*.txt $(GAMEDIR)
|
|
if exist $(DOC)\recover.txt copy $(DOC)\recover.txt $(GAMEDIR)
|
|
if exist $(DOC)\nethack.txt copy $(DOC)\nethack.txt $(GAMEDIR)
|
|
ifdef CWSDPMI
|
|
if exist $(CWSDPMI) copy $(CWSDPMI) $(GAMEDIR)
|
|
else
|
|
echo Could not find a copy of CWSDPMI.EXE to put into $(GAMEDIR)
|
|
endif
|
|
echo install done > install.tag
|
|
|
|
# The main target.
|
|
|
|
|
|
$(GAMEFILE): utility.tag $(GAME).lnk
|
|
$(LINK) $(LFLAGS) -o$(GAME).exe @$(GAME).lnk $(LIBRARIES)
|
|
stubedit $(GAME).exe minstack=2048K
|
|
copy $(GAME).exe $(GAMEFILE)
|
|
del $(GAME).exe
|
|
|
|
$(GAME).lnk: $(ALLOBJ)
|
|
@echo $(VOBJ01) > $@
|
|
@echo $(VOBJ02) >> $@
|
|
@echo $(VOBJ03) >> $@
|
|
@echo $(VOBJ04) >> $@
|
|
@echo $(VOBJ05) >> $@
|
|
@echo $(VOBJ06) >> $@
|
|
@echo $(VOBJ07) >> $@
|
|
@echo $(VOBJ08) >> $@
|
|
@echo $(VOBJ09) >> $@
|
|
@echo $(VOBJ10) >> $@
|
|
@echo $(VOBJ11) >> $@
|
|
@echo $(VOBJ12) >> $@
|
|
@echo $(VOBJ13) >> $@
|
|
@echo $(VOBJ14) >> $@
|
|
@echo $(VOBJ15) >> $@
|
|
@echo $(VOBJ16) >> $@
|
|
@echo $(VOBJ17) >> $@
|
|
@echo $(VOBJ18) >> $@
|
|
@echo $(VOBJ19) >> $@
|
|
@echo $(VOBJ20) >> $@
|
|
@echo $(VOBJ21) >> $@
|
|
@echo $(VOBJ22) >> $@
|
|
@echo $(VOBJ23) >> $@
|
|
@echo $(SOBJ) >> $@
|
|
@echo $(TILOBJ) >> $@
|
|
@echo $(VVOBJ) >> $@
|
|
|
|
|
|
#
|
|
# Housekeeping.
|
|
#
|
|
|
|
clean:
|
|
del *.o
|
|
del *.map
|
|
del dlb_main.exe
|
|
|
|
spotless: clean
|
|
if exist utility.tag del utility.tag
|
|
if exist install.tag del install.tag
|
|
if exist dat.tag del dat.tag
|
|
if exist $(GAME).lnk del $(GAME).lnk
|
|
if exist makedefs.exe del makedefs.exe
|
|
if exist lev_comp.exe del lev_comp.exe
|
|
if exist dgn_comp.exe del dgn_comp.exe
|
|
if exist $(SRC)\lev_lex.c del $(SRC)\lev_lex.c
|
|
if exist $(SRC)\lev_flex.c del $(SRC)\lev_flex.c
|
|
if exist $(SRC)\lev_yacc.c del $(SRC)\lev_yacc.c
|
|
if exist $(SRC)\dgn_lex.c del $(SRC)\dgn_lex.c
|
|
if exist $(SRC)\dgn_flex.c del $(SRC)\dgn_flex.c
|
|
if exist $(SRC)\dgn_yacc.c del $(SRC)\dgn_yacc.c
|
|
if exist recover.exe del recover.exe
|
|
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 $(INCL)\pcvideo.h del $(INCL)\pcvideo.h
|
|
if exist $(INCL)\pctiles.h del $(INCL)\pctiles.h
|
|
if exist $(INCL)\portio.h del $(INCL)\portio.h
|
|
if exist $(INCL)\tile.h del $(INCL)\tile.h
|
|
if exist monstr.c del monstr.c
|
|
if exist vis_tab.c del vis_tab.c
|
|
if exist $(SRC)\panic.c del $(SRC)\panic.c
|
|
if exist $(SRC)\makedefs.c del $(SRC)\makedefs.c
|
|
if exist $(SRC)\recover.c del $(SRC)\recover.c
|
|
if exist $(SRC)\lev_main.c del $(SRC)\lev_main.c
|
|
if exist $(SRC)\dlb_main.c del $(SRC)\dlb_main.c
|
|
if exist $(SRC)\dgn_main.c del $(SRC)\dgn_main.c
|
|
if exist $(SRC)\wintty.c del $(SRC)\wintty.c
|
|
if exist $(SRC)\topl.c del $(SRC)\topl.c
|
|
if exist $(SRC)\getline.c del $(SRC)\getline.c
|
|
if exist $(SRC)\termcap.c del $(SRC)\termcap.c
|
|
if exist $(SRC)\tile2bin.c del $(SRC)\tile2bin.c
|
|
if exist $(SRC)\msdos.c del $(SRC)\msdos.c
|
|
if exist $(SRC)\pckeys.c del $(SRC)\pckeys.c
|
|
if exist $(SRC)\video.c del $(SRC)\video.c
|
|
if exist $(SRC)\vidtxt.c del $(SRC)\vidtxt.c
|
|
if exist $(SRC)\vidvga.c del $(SRC)\vidvga.c
|
|
if exist $(SRC)\sound.c del $(SRC)\sound.c
|
|
if exist $(SRC)\tilemap.c del $(SRC)\tilemap.c
|
|
if exist $(SRC)\gifread.c del $(SRC)\gifread.c
|
|
if exist $(SRC)\ppmwrite.c del $(SRC)\ppmwrite.c
|
|
if exist $(SRC)\pcmain.c del $(SRC)\pcmain.c
|
|
if exist $(SRC)\pcunix.c del $(SRC)\pcunix.c
|
|
if exist $(SRC)\pcsys.c del $(SRC)\pcsys.c
|
|
if exist $(SRC)\pctty.c del $(SRC)\pctty.c
|
|
if exist $(SRC)\tile.c del $(SRC)\tile.c
|
|
if exist $(SRC)\tiletext.c del $(SRC)\tiletext.c
|
|
if exist $(SRC)\pctiles.c del $(SRC)\pctiles.c
|
|
if exist $(SRC)\thintile.c del $(SRC)\thintile.c
|
|
if exist $(SRC)\thintile.exe del $(SRC)\thintile.exe
|
|
if exist $(SRC)\thintile.tag del $(SRC)\thintile.tag
|
|
if exist $(SRC)\til2bin2.exe del $(SRC)\til2bin2.exe
|
|
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 vis_tab.c del vis_tab.c
|
|
if exist *.lnk del *.lnk
|
|
if exist *.def del *.def
|
|
if exist *.map del *.map
|
|
if exist a.out del a.out
|
|
if exist tilemap.exe del tilemap.exe
|
|
if exist tile2bin.exe del tile2bin.exe
|
|
if exist $(DAT)\data del $(DAT)\data
|
|
if exist $(DAT)\*.lev del $(DAT)\*.lev
|
|
if exist $(DAT)\dungeon del $(DAT)\dungeon
|
|
if exist $(DAT)\options del $(DAT)\options
|
|
if exist $(DAT)\oracles del $(DAT)\oracles
|
|
if exist $(DAT)\rumors del $(DAT)\rumors
|
|
if exist $(DAT)\quest.dat del $(DAT)\quest.dat
|
|
if exist $(DAT)\nhdat del $(DAT)\nhdat
|
|
if exist $(DAT)\dlb.lst del $(DAT)\dlb.lst
|
|
if exist $(DAT)\msdoshlp.txt del $(DAT)\msdoshlp.txt
|
|
if exist $(DAT)\dlb_main.exe del $(DAT)\dlb_main.exe
|
|
if exist $(DAT)\lev_comp.exe del $(DAT)\lev_comp.exe
|
|
if exist $(DAT)\dgn_comp.exe del $(DAT)\dgn_comp.exe
|
|
if exist sp_lev.tag del sp_lev.tag
|
|
if exist $(PLANAR_TIB) del $(PLANAR_TIB)
|
|
if exist $(OVERVIEW_TIB) del $(OVERVIEW_TIB)
|
|
if exist thintile.tag del thintile.tag
|
|
if exist thintile.exe del thintile.exe
|
|
if exist til2bin2.exe del til2bin2.exe
|
|
if exist $(INCL)\dgn_comp.h del $(INCL)\dgn_comp.h
|
|
if exist $(INCL)\lev_comp.h del $(INCL)\lev_comp.h
|
|
if exist $(DAT)\dungeon.pdf del $(DAT)\dungeon.pdf
|
|
if exist $(WSHR)\monthin.txt del $(WSHR)\monthin.txt
|
|
if exist $(WSHR)\objthin.txt del $(WSHR)\objthin.txt
|
|
if exist $(WSHR)\oththin.txt del $(WSHR)\oththin.txt
|
|
|
|
#
|
|
# Secondary Targets.
|
|
#
|
|
# The following include files depend on makedefs to be created.
|
|
#
|
|
# date.h should be remade every time any of the source or include
|
|
# files is modified.
|
|
|
|
|
|
$(INCL)\date.h : makedefs.exe
|
|
-makedefs -v
|
|
|
|
$(INCL)\onames.h: makedefs.exe
|
|
-makedefs -o
|
|
|
|
$(INCL)\pm.h: makedefs.exe
|
|
-makedefs -p
|
|
|
|
monstr.c: makedefs.exe
|
|
-makedefs -m
|
|
|
|
$(INCL)\vis_tab.h: makedefs.exe
|
|
-makedefs -z
|
|
|
|
vis_tab.c: makedefs.exe
|
|
-makedefs -z
|
|
|
|
#
|
|
# Makedefs Stuff
|
|
#
|
|
|
|
makedefs.exe: $(MAKEOBJS)
|
|
$(LINK) $(LFLAGS) -omakedefs.exe $(MAKEOBJS)
|
|
|
|
makedefs.c: $(UTIL)\makedefs.c
|
|
copy $(UTIL)\makedefs.c .
|
|
|
|
makedefs.o: $(CONFIG_H) $(PERMONST_H) $(INCL)\objclass.h \
|
|
$(INCL)\monsym.h $(INCL)\qtext.h makedefs.c
|
|
|
|
#
|
|
# Level Compiler Dependencies
|
|
#
|
|
|
|
lev_comp.exe: $(SPLEVOBJS)
|
|
$(LINK) $(LFLAGS) -olev_comp.exe $(SPLEVOBJS)
|
|
|
|
ifeq ($(YACC_LEX),Y)
|
|
|
|
lev_yacc.o: $(HACK_H) $(SP_LEV_H) lev_yacc.c
|
|
$(CC) $(CFLAGS) -o$@ lev_yacc.c
|
|
|
|
else
|
|
|
|
lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h lev_yacc.c
|
|
$(CC) $(CFLAGS) -o$@ lev_yacc.c
|
|
|
|
endif
|
|
|
|
lev_$(LEX).o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h \
|
|
lev_$(LEX).c
|
|
$(CC) $(CFLAGS) -o$@ lev_$(LEX).c
|
|
|
|
lev_main.c: $(UTIL)\lev_main.c
|
|
copy $(UTIL)\lev_main.c .
|
|
|
|
lev_main.o: $(HACK_H) $(INCL)\sp_lev.h $(INCL)\date.h lev_main.c
|
|
|
|
$(INCL)\lev_comp.h: lev_yacc.c
|
|
|
|
ifeq ($(YACC_LEX),Y)
|
|
|
|
lev_yacc.c: $(UTIL)\lev_comp.y
|
|
$(YACC) -d $(DUTIL)/lev_comp.y
|
|
copy $(YTABC) $@
|
|
copy $(YTABH) $(INCL)\lev_comp.h
|
|
del $(YTABC)
|
|
del $(YTABH)
|
|
|
|
lev_$(LEX).c: $(UTIL)\lev_comp.l
|
|
$(LEX) $(DUTIL)/lev_comp.l
|
|
copy $(LEXYYC) $@
|
|
del $(LEXYYC)
|
|
else
|
|
|
|
lev_yacc.c: $(SSHR)\lev_yacc.c
|
|
copy $(SSHR)\lev_yacc.c $@
|
|
|
|
$(INCL)\lev_comp.h: $(SSHR)\lev_comp.h
|
|
copy $(SSHR)\lev_comp.h $@
|
|
touch $(DINCL)/lev_comp.h
|
|
|
|
lev_$(LEX).c: $(SSHR)\lev_lex.c
|
|
copy $(SSHR)\lev_lex.c $@
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
# Dungeon Dependencies
|
|
#
|
|
|
|
dgn_comp.exe: $(DGNCOMPOBJS)
|
|
$(LINK) $(LFLAGS) -odgn_comp.exe $(DGNCOMPOBJS)
|
|
|
|
ifeq ($(YACC_LEX),Y)
|
|
|
|
dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) dgn_yacc.c
|
|
$(CC) $(CFLAGS) -o$@ dgn_yacc.c
|
|
|
|
else
|
|
|
|
dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h dgn_yacc.c
|
|
$(CC) $(CFLAGS) -o$@ dgn_yacc.c
|
|
|
|
endif
|
|
|
|
dgn_$(LEX).o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \
|
|
dgn_$(LEX).c
|
|
$(CC) $(CFLAGS) -o$@ dgn_$(LEX).c
|
|
|
|
dgn_main.c: $(UTIL)\dgn_main.c
|
|
copy $(UTIL)\dgn_main.c .
|
|
|
|
dgn_main.o: $(HACK_H)
|
|
|
|
$(INCL)\dgn_comp.h: dgn_yacc.c
|
|
|
|
ifeq ($(YACC_LEX),Y)
|
|
|
|
dgn_yacc.c: $(UTIL)\dgn_comp.y
|
|
$(YACC) -d $(DUTIL)/dgn_comp.y
|
|
copy $(YTABC) $@
|
|
copy $(YTABH) $(INCL)\dgn_comp.h
|
|
del $(YTABC)
|
|
del $(YTABH)
|
|
|
|
dgn_$(LEX).c: $(UTIL)\dgn_comp.l
|
|
$(LEX) $(DUTIL)/dgn_comp.l
|
|
copy $(LEXYYC) $@
|
|
del $(LEXYYC)
|
|
|
|
else
|
|
|
|
dgn_yacc.c: $(SSHR)\dgn_yacc.c
|
|
copy $(SSHR)\dgn_yacc.c $@
|
|
|
|
$(INCL)\dgn_comp.h: $(SSHR)\dgn_comp.h
|
|
copy $(SSHR)\dgn_comp.h $@
|
|
touch $(DINCL)/dgn_comp.h
|
|
|
|
dgn_$(LEX).c: $(SSHR)\dgn_lex.c
|
|
copy $(SSHR)\dgn_lex.c $@
|
|
|
|
endif
|
|
|
|
#
|
|
# Recover Utility
|
|
#
|
|
|
|
recover.exe: $(RECOVOBJS)
|
|
$(LINK) $(LFLAGS) -orecover.exe recover.o
|
|
|
|
recover.c: $(UTIL)\recover.c
|
|
copy $(UTIL)\recover.c .
|
|
|
|
recover.o: $(CONFIG_H) recover.c
|
|
$(CC) $(CFLAGS) -o$@ recover.c
|
|
|
|
|
|
#
|
|
# Header file moves required for tile support
|
|
#
|
|
ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
|
|
else
|
|
|
|
$(INCL)\tile.h: $(WSHR)\tile.h
|
|
copy $(WSHR)\tile.h $@
|
|
|
|
$(INCL)\pctiles.h: $(MSYS)\pctiles.h
|
|
copy $(MSYS)\pctiles.h $@
|
|
|
|
$(INCL)\pcvideo.h: $(MSYS)\pcvideo.h
|
|
copy $(MSYS)\pcvideo.h $@
|
|
|
|
$(INCL)\portio.h: $(MSYS)\portio.h
|
|
copy $(MSYS)\portio.h $@
|
|
|
|
#
|
|
# Tile Mapping
|
|
#
|
|
|
|
tile.c: tilemap.exe
|
|
@tilemap
|
|
@echo A new $@ has been created
|
|
|
|
tilemap.exe: tilemap.o
|
|
$(LINK) $(LFLAGS) -otilemap.exe tilemap.o
|
|
|
|
tilemap.c: $(WSHR)\tilemap.c
|
|
copy $(WSHR)\tilemap.c .
|
|
|
|
tilemap.o: tilemap.c $(HACK_H) $(TILE_H)
|
|
|
|
#
|
|
# Tile Utilities
|
|
#
|
|
#
|
|
# Required for tile support
|
|
#
|
|
|
|
NetHack1.tib: $(TILEFILES) tile2bin.exe
|
|
@echo Creating binary tile files (this may take some time)
|
|
@tile2bin
|
|
|
|
NetHacko.tib: thintile.tag $(TILEFILES2) til2bin2.exe
|
|
@echo Creating overview binary tile files (this may take some time)
|
|
@til2bin2
|
|
|
|
tile2bin.exe: tile2bin.o $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -otile2bin.exe tile2bin.o $(TEXTIO)
|
|
|
|
til2bin2.exe: til2bin2.o $(TEXTIO2)
|
|
$(LINK) $(LFLAGS) -otil2bin2.exe til2bin2.o $(TEXTIO2)
|
|
|
|
thintile.exe: thintile.o
|
|
$(LINK) $(LFLAGS) -othintile.exe thintile.o
|
|
|
|
thintile.c: $(WSHR)\thintile.c
|
|
copy $(WSHR)\thintile.c .
|
|
|
|
thintile.o: $(HACK_H) $(INCL)\tile.h thintile.c
|
|
$(CC) $(CFLAGS) -o$@ thintile.c
|
|
|
|
thintile.tag: thintile.exe $(TILEFILES)
|
|
thintile
|
|
@echo thintiles created >thintile.tag
|
|
|
|
tile2bin.c: $(MSYS)\tile2bin.c
|
|
copy $(MSYS)\tile2bin.c .
|
|
|
|
tile2bin.o: $(HACK_H) $(INCL)\tile.h $(INCL)\pctiles.h $(INCL)\pcvideo.h \
|
|
tile2bin.c
|
|
|
|
til2bin2.o: $(HACK_H) $(INCL)\tile.h $(INCL)\pctiles.h $(INCL)\pcvideo.h \
|
|
tile2bin.c
|
|
$(CC) $(CFLAGS) -DTILE_X=8 -DOVERVIEW_FILE -o$@ tile2bin.c
|
|
|
|
tiletext.o: $(CONFIG_H) $(INCL)\tile.h $(WSHR)\tiletext.c
|
|
copy $(WSHR)\tiletext.c .
|
|
$(CC) $(CFLAGS) -o$@ tiletext.c
|
|
|
|
tiletex2.o: $(CONFIG_H) $(INCL)\tile.h $(WSHR)\tiletext.c
|
|
copy $(WSHR)\tiletext.c .
|
|
$(CC) $(CFLAGS) -DTILE_X=8 -o$@ tiletext.c
|
|
|
|
tiletxt.o: $(CONFIG_H) $(INCL)\tile.h tilemap.c
|
|
$(CC) $(CFLAGS) -DTILETEXT -o$@ tilemap.c
|
|
|
|
tiletxt2.o: $(CONFIG_H) $(INCL)\tile.h tilemap.c
|
|
$(CC) $(CFLAGS) -DTILETEXT -DTILE_X=8 -o$@ tilemap.c
|
|
#
|
|
# Optional GIF Utilities (for development)
|
|
#
|
|
|
|
gif2txt.exe: $(GIFREADERS) $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -ogif2txt.exe $(GIFREADERS) $(TEXTIO)
|
|
|
|
gif2txt2.exe: $(GIFREAD2) $(TEXTIO2)
|
|
$(LINK) $(LFLAGS) -ogif2txt2.exe $(GIFREAD2) $(TEXTIO2)
|
|
|
|
txt2ppm.exe: $(PPMWRITERS) $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -otxt2ppm.exe $(PPMWRITERS) $(TEXTIO)
|
|
|
|
txt2ppm2.exe: $(PPMWRIT2) $(TEXTIO2)
|
|
$(LINK) $(LFLAGS) -otxt2ppm2.exe $(PPMWRIT2) $(TEXTIO2)
|
|
|
|
gifread.c: $(WSHR)\gifread.c
|
|
copy $(WSHR)\gifread.c .
|
|
|
|
gifread.o: $(CONFIG_H) $(INCL)\tile.h
|
|
|
|
gifread2.o: $(CONFIG_H) $(INCL)\tile.h gifread.c
|
|
$(CC) $(CFLAGS) -DTILE_X=8 -o$@ gifread.c
|
|
|
|
ppmwrite.c: $(WSHR)\ppmwrite.c
|
|
copy $(WSHR)\ppmwrite.c .
|
|
|
|
ppmwrite.o: $(CONFIG_H) $(INCL)\tile.h
|
|
|
|
ppmwrit2.o: $(CONFIG_H) $(INCL)\tile.h ppmwrite.c
|
|
$(CC) $(CFLAGS) -DTILE_X=8 -o$@ ppmwrite.c
|
|
|
|
#
|
|
# Optional tile viewer (development sources only)
|
|
#
|
|
|
|
viewtib.exe: viewtib.o
|
|
$(LINK) $(LFLAGS) -oviewtib.exe viewtib.o $(LIBRARIES)
|
|
|
|
viewtib.c: $(MSYS)\viewtib.c
|
|
copy $(MSYS)\viewtib.c .
|
|
|
|
viewtib.o: viewtib.c
|
|
|
|
endif
|
|
|
|
#
|
|
# Other Util Dependencies.
|
|
#
|
|
|
|
alloc.o: $(CONFIG_H) alloc.c
|
|
$(CC) $(CFLAGS) -oalloc.o alloc.c
|
|
|
|
drawing.o: $(CONFIG_H) drawing.c $(INCL)\pcvideo.h
|
|
$(CC) $(CFLAGS) -odrawing.o drawing.c
|
|
|
|
decl.o: $(CONFIG_H) decl.c
|
|
$(CC) $(CFLAGS) -odecl.o decl.c
|
|
|
|
monst.o: $(CONFIG_H) $(PERMONST_H) $(ESHK_H) \
|
|
$(EPRI_H) $(VAULT_H) $(INCL)\monsym.h \
|
|
$(INCL)\color.h monst.c
|
|
$(CC) $(CFLAGS) -omonst.o monst.c
|
|
|
|
objects.o: $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
|
$(INCL)\prop.h $(INCL)\color.h objects.c
|
|
$(CC) $(CFLAGS) -oobjects.o objects.c
|
|
|
|
panic.c: $(UTIL)\panic.c
|
|
copy $(UTIL)\panic.c .
|
|
|
|
panic.o: $(CONFIG_H) panic.c
|
|
|
|
|
|
|
|
#
|
|
# make data.base an 8.3 filename to prevent an nmake warning
|
|
#
|
|
|
|
DATABASE = $(DAT)\data.bas
|
|
|
|
|
|
dat.tag: $(DAT)\nhdat
|
|
@echo dat done >dat.tag
|
|
|
|
$(DAT)\data: utility.tag $(DATABASE)
|
|
makedefs -d
|
|
|
|
$(DAT)\rumors: utility.tag $(DAT)\rumors.tru $(DAT)\rumors.fal
|
|
makedefs -r
|
|
|
|
$(DAT)\quest.dat: utility.tag $(DAT)\quest.txt
|
|
makedefs -q
|
|
|
|
$(DAT)\oracles: utility.tag $(DAT)\oracles.txt
|
|
makedefs -h
|
|
|
|
sp_lev.tag: 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)\tourist.des \
|
|
$(DAT)\valkyrie.des $(DAT)\wizard.des
|
|
copy $(SRC)\lev_comp.exe $(DAT)\lev_comp.exe
|
|
cd $(DAT)
|
|
lev_comp bigroom.des
|
|
lev_comp castle.des
|
|
lev_comp endgame.des
|
|
lev_comp gehennom.des
|
|
lev_comp knox.des
|
|
lev_comp mines.des
|
|
lev_comp medusa.des
|
|
lev_comp oracle.des
|
|
lev_comp sokoban.des
|
|
lev_comp tower.des
|
|
lev_comp yendor.des
|
|
lev_comp arch.des
|
|
lev_comp barb.des
|
|
lev_comp caveman.des
|
|
lev_comp healer.des
|
|
lev_comp knight.des
|
|
lev_comp monk.des
|
|
lev_comp priest.des
|
|
lev_comp ranger.des
|
|
lev_comp rogue.des
|
|
lev_comp samurai.des
|
|
lev_comp tourist.des
|
|
lev_comp valkyrie.des
|
|
lev_comp wizard.des
|
|
cd $(SRC)
|
|
echo sp_levs done > sp_lev.tag
|
|
|
|
$(DAT)\dungeon: utility.tag $(DAT)\dungeon.def
|
|
@copy $(SRC)\dgn_comp.exe $(DAT)\dgn_comp.exe
|
|
makedefs -e
|
|
cd $(DAT)
|
|
dgn_comp dungeon.pdf
|
|
cd $(SRC)
|
|
#
|
|
# DLB stuff
|
|
#
|
|
#note that dir below assumes bin/dir.exe from djgpp distribution
|
|
#
|
|
$(DAT)\nhdat: dlb_main.exe $(DAT)\data $(DAT)\rumors $(DAT)\dungeon \
|
|
$(DAT)\oracles $(DAT)\quest.dat sp_lev.tag
|
|
@echo dat done >dat.tag
|
|
@cd $(DAT)
|
|
@copy $(MSYS)\msdoshlp.txt .
|
|
@echo data >dlb.lst
|
|
@echo dungeon >>dlb.lst
|
|
@echo oracles >>dlb.lst
|
|
@echo options >>dlb.lst
|
|
@echo quest.dat >>dlb.lst
|
|
@echo rumors >>dlb.lst
|
|
@echo help >>dlb.lst
|
|
@echo hh >>dlb.lst
|
|
@echo cmdhelp >>dlb.lst
|
|
@echo history >>dlb.lst
|
|
@echo opthelp >>dlb.lst
|
|
@echo wizhelp >>dlb.lst
|
|
@echo license >>dlb.lst
|
|
@echo msdoshlp.txt >>dlb.lst
|
|
$(LS) *.lev >>dlb.lst
|
|
dlb_main cvIf dlb.lst nhdat
|
|
@cd $(SRC)
|
|
|
|
dlb_main.exe: $(DLBOBJS)
|
|
$(LINK) $(LFLAGS) -odlb_main.exe $(DLBOBJS)
|
|
@copy $@ $(DAT)\dlb_main.exe
|
|
|
|
|
|
dlb_main.o: $(UTIL)\dlb_main.c $(INCL)\config.h $(DLB_H)
|
|
copy $(UTIL)\dlb_main.c .
|
|
$(CC) $(CFLAGS) -odlb_main.o dlb_main.c
|
|
|
|
# Game Dependencies
|
|
# Some files require movement as Gnu make doesn't like unix style '/'
|
|
# directory specs and djgcc doesn't like dos style directory specs.
|
|
# So we get to copy stuff where we might need it. Fun eh?
|
|
|
|
# sys/share
|
|
main.o: $(HACK_H) $(DLB_H) $(SSHR)\pcmain.c
|
|
copy $(SSHR)\pcmain.c .
|
|
$(CC) $(CFLAGS) -o$@ pcmain.c
|
|
|
|
tty.o: $(HACK_H) $(INCL)\wintty.h $(SSHR)\pctty.c
|
|
copy $(SSHR)\pctty.c .
|
|
$(CC) $(CFLAGS) -o$@ pctty.c
|
|
|
|
unix.o: $(HACK_H) $(SSHR)\pcunix.c
|
|
copy $(SSHR)\pcunix.c .
|
|
$(CC) $(CFLAGS) -o$@ pcunix.c
|
|
|
|
sys.o : $(HACK_H) $(SSHR)\pcsys.c
|
|
copy $(SSHR)\pcsys.c .
|
|
$(CC) $(CFLAGS) -o$@ pcsys.c
|
|
|
|
# sys/msdos
|
|
msdos.o : $(HACK_H) $(MSYS)\msdos.c
|
|
copy $(MSYS)\msdos.c .
|
|
$(CC) $(CFLAGS) -o$@ msdos.c
|
|
|
|
pckeys.o : $(HACK_H) $(MSYS)\pckeys.c
|
|
copy $(MSYS)\pckeys.c .
|
|
$(CC) $(CFLAGS) -o$@ pckeys.c
|
|
|
|
pctiles.o : $(HACK_H) $(MSYS)\pctiles.c $(INCL)\portio.h
|
|
copy $(MSYS)\pctiles.c .
|
|
$(CC) $(CFLAGS) -o$@ pctiles.c
|
|
|
|
sound.o : $(HACK_H) $(MSYS)\sound.c $(INCL)\portio.h
|
|
copy $(MSYS)\sound.c .
|
|
$(CC) $(CFLAGS) -o$@ sound.c
|
|
|
|
video.o : $(HACK_H) $(INCL)\pcvideo.h $(INCL)\portio.h $(MSYS)\video.c
|
|
copy $(MSYS)\video.c .
|
|
$(CC) $(CFLAGS) -o$@ video.c
|
|
|
|
vidvga.o : $(HACK_H) $(INCL)\pcvideo.h $(INCL)\portio.h $(TILE_H) \
|
|
$(MSYS)\vidvga.c
|
|
copy $(MSYS)\vidvga.c .
|
|
$(CC) $(CFLAGS) -o$@ vidvga.c
|
|
|
|
vidtxt.o : $(HACK_H) $(INCL)\pcvideo.h $(INCL)\portio.h $(TILE_H) \
|
|
$(MSYS)\vidtxt.c
|
|
copy $(MSYS)\vidtxt.c .
|
|
$(CC) $(CFLAGS) -o$@ vidtxt.c
|
|
|
|
stubvid.o : $(HACK_H) $(MSYS)\video.c
|
|
copy $(MSYS)\video.c .
|
|
$(CC) $(CFLAGS) -DSTUBVIDEO -o$@ video.c
|
|
|
|
|
|
# win/tty
|
|
getline.o : $(HACK_H) $(INCL)\wintty.h $(WIN)\getline.c
|
|
copy $(WIN)\getline.c .
|
|
$(CC) $(CFLAGS) -o$@ getline.c
|
|
|
|
termcap.o : $(CONFIG_H) $(WIN)\termcap.c
|
|
copy $(WIN)\termcap.c .
|
|
$(CC) $(CFLAGS) -o$@ termcap.c
|
|
|
|
topl.o : $(CONFIG_H) $(WIN)\topl.c
|
|
copy $(WIN)\topl.c .
|
|
$(CC) $(CFLAGS) -o$@ topl.c
|
|
|
|
wintty.o : $(HACK_H) $(WIN)\wintty.c
|
|
copy $(WIN)\wintty.c .
|
|
$(CC) $(CFLAGS) -o$@ wintty.c
|
|
|
|
# src dependencies
|
|
allmain.o: $(HACK_H)
|
|
alloc.o: $(CONFIG_H)
|
|
apply.o: $(HACK_H) $(INCL)\edog.h
|
|
artifact.o: $(HACK_H) $(INCL)\artifact.h $(INCL)\artilist.h
|
|
attrib.o: $(HACK_H) $(INCL)\artifact.h
|
|
ball.o: $(HACK_H)
|
|
bones.o: $(HACK_H) $(INCL)\lev.h
|
|
botl.o: $(HACK_H)
|
|
cmd.o: $(HACK_H) $(INCL)\func_tab.h
|
|
dbridge.o: $(HACK_H)
|
|
decl.o: $(HACK_H) $(INCL)\quest.h
|
|
detect.o: $(HACK_H) $(INCL)\artifact.h
|
|
dig.o: $(HACK_H)
|
|
display.o: $(HACK_H)
|
|
dlb.o: $(HACK_H) $(DLB_H)
|
|
do.o: $(HACK_H) $(INCL)\lev.h
|
|
do_name.o: $(HACK_H)
|
|
do_wear.o: $(HACK_H)
|
|
dog.o: $(HACK_H) $(INCL)\edog.h
|
|
dogmove.o: $(HACK_H) $(INCL)\mfndpos.h $(INCL)\edog.h
|
|
dokick.o: $(HACK_H) $(ESHK_H)
|
|
dothrow.o: $(HACK_H)
|
|
drawing.o: $(HACK_H) $(INCL)\tcap.h
|
|
dungeon.o: $(HACK_H) $(INCL)\dgn_file.h
|
|
eat.o: $(HACK_H)
|
|
end.o: $(HACK_H) $(ESHK_H)
|
|
engrave.o: $(HACK_H) $(INCL)\lev.h
|
|
exper.o: $(HACK_H)
|
|
explode.o: $(HACK_H)
|
|
extralev.o: $(HACK_H)
|
|
files.o: $(HACK_H)
|
|
fountain.o: $(HACK_H)
|
|
hack.o: $(HACK_H)
|
|
hacklib.o: $(HACK_H)
|
|
invent.o: $(HACK_H) $(INCL)\artifact.h
|
|
light.o: $(HACK_H) $(INCL)\lev.h
|
|
lock.o: $(HACK_H)
|
|
mail.o: $(HACK_H) $(INCL)\mail.h
|
|
makemon.o: $(HACK_H) $(EPRI_H) $(EMIN_H) $(INCL)\edog.h
|
|
mcastu.o: $(HACK_H)
|
|
mapglyph.o: $(HACK_H)
|
|
mhitm.o: $(HACK_H) $(INCL)\artifact.h $(INCL)\edog.h
|
|
mhitu.o: $(HACK_H) $(INCL)\artifact.h $(INCL)\edog.h
|
|
minion.o: $(HACK_H) $(EMIN_H) $(EPRI_H)
|
|
mklev.o: $(HACK_H)
|
|
mkmap.o: $(HACK_H) $(INCL)\sp_lev.h
|
|
mkmaze.o: $(HACK_H) $(INCL)\sp_lev.h
|
|
mkobj.o: $(HACK_H) $(INCL)\artifact.h $(INCL)\prop.h
|
|
mkroom.o: $(HACK_H)
|
|
mon.o: $(HACK_H) $(INCL)\mfndpos.h $(INCL)\edog.h
|
|
mondata.o: $(HACK_H) $(ESHK_H) $(EPRI_H)
|
|
monmove.o: $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
|
|
monst.o: $(CONFIG_H) $(PERM_H) $(ESHK_H) $(EPRI_H) \
|
|
$(INCL)\color.h $(INCL)\monsym.h $(INCL)\vault.h
|
|
mplayer.o: $(HACK_H)
|
|
mthrowu.o: $(HACK_H)
|
|
muse.o: $(HACK_H)
|
|
music.o: $(HACK_H)
|
|
o_init.o: $(HACK_H)
|
|
objects.o: $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
|
$(INCL)\prop.h $(SKILLS_H) $(INCL)\color.h
|
|
objnam.o: $(HACK_H)
|
|
options.o: $(CONFIG_H) $(HACK_H) $(INCL)\objclass.h $(INCL)\flag.h \
|
|
$(INCL)\tcap.h
|
|
pager.o: $(HACK_H)
|
|
pickup.o: $(HACK_H)
|
|
pline.o: $(HACK_H) $(EPRI_H)
|
|
polyself.o: $(HACK_H)
|
|
potion.o: $(HACK_H)
|
|
pray.o: $(HACK_H) $(EPRI_H)
|
|
priest.o: $(HACK_H) $(INCL)\mfndpos.h $(ESHK_H) $(EPRI_H) $(EMIN_H)
|
|
quest.o: $(HACK_H) $(INCL)\quest.h $(INCL)\qtext.h
|
|
questpgr.o: $(HACK_H) $(INCL)\qtext.h
|
|
read.o: $(HACK_H)
|
|
rect.o: $(HACK_H)
|
|
region.o: $(HACK_H)
|
|
restore.o: $(HACK_H) $(INCL)\lev.h $(INCL)\tcap.h $(INCL)\quest.h
|
|
rip.o: $(HACK_H)
|
|
rnd.o: $(HACK_H)
|
|
role.o: $(HACK_H)
|
|
rumors.o: $(HACK_H)
|
|
save.o: $(HACK_H) $(INCL)\lev.h $(INCL)\quest.h
|
|
shk.o: $(HACK_H) $(ESHK_H)
|
|
shknam.o: $(HACK_H) $(ESHK_H)
|
|
sit.o: $(HACK_H) $(INCL)\artifact.h
|
|
sounds.o: $(HACK_H) $(INCL)\edog.h
|
|
sp_lev.o: $(HACK_H) $(INCL)\sp_lev.h $(INCL)\align.h $(INCL)\rect.h
|
|
spell.o: $(HACK_H)
|
|
steal.o: $(HACK_H)
|
|
steed.o: $(HACK_H)
|
|
teleport.o: $(HACK_H)
|
|
tile.o: $(HACK_H) $(TILE_H)
|
|
timeout.o: $(HACK_H)
|
|
topten.o: $(HACK_H)
|
|
track.o: $(HACK_H)
|
|
trap.o: $(HACK_H)
|
|
u_init.o: $(HACK_H)
|
|
uhitm.o: $(HACK_H)
|
|
vault.o: $(HACK_H) $(INCL)\vault.h
|
|
version.o: $(HACK_H) $(INCL)\patchlev.h
|
|
vision.o: $(HACK_H) $(INCL)\vis_tab.h
|
|
weapon.o: $(HACK_H)
|
|
were.o: $(HACK_H)
|
|
wield.o: $(HACK_H)
|
|
windows.o: $(HACK_H) $(INCL)\wintty.h
|
|
wizard.o: $(HACK_H) $(INCL)\qtext.h
|
|
worm.o: $(HACK_H) $(INCL)\lev.h
|
|
worn.o: $(HACK_H)
|
|
write.o: $(HACK_H)
|
|
zap.o: $(HACK_H)
|
|
|
|
# end of file
|