This evolves and hopefully eases the game-build requirements by
removing game-compile dependencies on any header files generated
by the makedefs utility, including:
date.h dependency and its inclusion is removed and comparable functionality
is produced at runtime via new file src/date.c.
pm.h dependency and its inclusion is removed and comparable functionality is
produced by moving the monster definitions from monst.c into new header
file called monsters.h and altering them slightly. The former pm.h header
file #define PM_ values are now replaced with appropriate emitted enum
entries during the compiler preprocessing.
onames.h dependency and its inclusion is removed and comparable functionality
is produced by moving the object definitions from objects.c into new header
file called objects.h and altering them slightly. The former onames.h header
file #define values are now replaced with appropriate emitted enum entries
during the compiler preprocessing.
artilist.h has been slightly altered, and the former onames.h artifact-related
header file #define ART_ values are now replaced with appropriate emitted enum
entries during the compiler preprocessing.
makedefs can still produce date.h (makedefs -v), pm.h (makedefs -p), and
onames.h (makedefs -o) for reference purposes. They won't be used during
the compiler.
The other uses for makedefs remain. They are used to prepare external
file content that the game utilizes, not prerequisite code for the
compile:
makedefs -d (database)
makedefs -r (rumors)
makedefs -h (oracles)
makedefs -s (epitaphs, engravings, bogusmons)
date.c
Pull the code for date/time stamping from mdlib.c into date.c.
Set date.o to be dependent on source files, header files, and .o files
so that date.o is rebuilt from date.c when any of those changes, thus
ensuring an accurate date/time stamp. It also includes git sha
functionality formerly done by makedefs writing #define directives
into include/date.h. For unix it passes the git info on
the compile line for date.c (via sys/unix/hints/linux.2020, macOS.2020)
nethack --dumpenums (optional, but on by default)
Allow developer to obtain some internal enum values from NetHack
without having to resort to an external utility such as
makedefs.
Uncomment #define NODUMPENUMS in config.h to disable this.
The updates to sys/windows/Makefile.gcc have not been tested yet.
1281 lines
42 KiB
Makefile
1281 lines
42 KiB
Makefile
# NetHack 3.7 Makefile.GCC $NHDT-Date: 1596498268 2020/08/03 23:44:28 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.53 $
|
|
# Copyright (c) NetHack PC Development Team 1996-2019.
|
|
# PC NetHack 3.7 Makefile for djgpp V2
|
|
#
|
|
# Gnu gcc compiler for msdos (djgpp)
|
|
# Requires Gnu Make utility (V3.79.1 or greater) supplied with djgpp
|
|
#
|
|
# 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 =../binary
|
|
|
|
# Optional PDCurses support
|
|
# Uncomment these and set them appropriately if you want to
|
|
# include curses port support alongside TTY support in your
|
|
# NetHack.exe binary.
|
|
#
|
|
# You'll have to set PDCURSES_H to the correct location of the
|
|
# PDCurses header (.h) files and PDCURSES_C to the location
|
|
# of your PDCurses C files which must already be resident on
|
|
# your machine.
|
|
#
|
|
ADD_CURSES=Y
|
|
PDCURSES_TOP=../../pdcurses
|
|
|
|
#---------------------------------------------------------------
|
|
ifeq "$(LUA_VERSION)" "5.3.5"
|
|
LUAVER=5.3.5
|
|
else
|
|
LUAVER=5.4.3
|
|
endif
|
|
#---------------------------------------------------------------
|
|
# Location of LUA
|
|
#
|
|
# Original source needs to be obtained from:
|
|
# http://www.lua.org/ftp/lua-5.4.3.tar.gz
|
|
#
|
|
# This build assumes that the LUA sources are located
|
|
# at the specified location. If they are actually elsewhere
|
|
# you'll need to specify the correct spot below in order to
|
|
# successfully build NetHack-3.7.
|
|
#
|
|
ADD_LUA=Y
|
|
LUATOP=../lib/lua$(subst .,, $(LUAVER))
|
|
#
|
|
#==============================================================================
|
|
# This marks the end of the BUILD DECISIONS section.
|
|
#==============================================================================
|
|
#
|
|
# Directories, gcc likes unix style directory specs
|
|
#
|
|
|
|
OBJ = o
|
|
DAT = ../dat
|
|
DOC = ../doc
|
|
INCL = ../include
|
|
MSYS = ../sys/msdos
|
|
SRC = ../src
|
|
SSHR = ../sys/share
|
|
UTIL = ../util
|
|
WIN = ../win/tty
|
|
WCURSES = ../win/curses
|
|
WSHR = ../win/share
|
|
|
|
#
|
|
# Executables.
|
|
|
|
CC = gcc
|
|
LINK = gcc
|
|
MAKEBIN = make
|
|
|
|
#
|
|
# 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)
|
|
|
|
#
|
|
# 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 includes ls.exe and touch.exe in fil41b.zip from the v2gnu
|
|
# folder so be sure to include that when downloading djgpp. Doing
|
|
# so will make changing this unnecessary.
|
|
|
|
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 =
|
|
|
|
# ZLIB Support
|
|
# To support zlib compression in bones and save files, you must
|
|
# define ZLIB_COMP in include/config.h.
|
|
# You must also have a zlib library to link NetHack with, and
|
|
# for the djgpp build, you need one compatible with djgpp.
|
|
# At the time that this was written (post-NetHack 3.4.3) the
|
|
# following URL was a valid place to get a pre-built djgpp library
|
|
# to add to your djgpp tools directory tree.
|
|
# http://www.delorie.com/pub/djgpp/current/v2tk/zlib114b.zip
|
|
#
|
|
# If you defined ZLIB_COMP in include/config.h to build in support
|
|
# for ZLIB compression, you need to uncomment the line below.
|
|
#ZLIB= -lz
|
|
|
|
#===============================================
|
|
#======= End of Modification Section ===========
|
|
#===============================================
|
|
################################################
|
|
# #
|
|
# Nothing below here 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
|
|
|
|
TERMLIB =
|
|
# Build NetHack suitable for blind players
|
|
|
|
#==========================================
|
|
#================ MACROS ==================
|
|
#==========================================
|
|
# This section creates shorthand macros for many objects
|
|
# referenced later on in the Makefile.
|
|
#
|
|
# Have windows path styles available for use in commands
|
|
#
|
|
W_OBJ =$(subst /,\, $(OBJ))
|
|
W_INCL =$(subst /,\, $(INCL))
|
|
W_DAT =$(subst /,\, $(DAT))
|
|
W_DOC =$(subst /,\, $(DOC))
|
|
W_UTIL =$(subst /,\, $(UTIL))
|
|
W_SRC =$(subst /,\, $(SRC))
|
|
W_SSYS =$(subst /,\, $(SSYS))
|
|
W_MSWSYS =$(subst /,\, $(MSWSYS))
|
|
W_TTY =$(subst /,\, $(TTY))
|
|
W_MSWIN =$(subst /,\, $(MSWIN))
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
W_WCURSES =$(subst /,\, $(WCURSES))
|
|
endif
|
|
W_WSHR =$(subst /,\, $(WSHR))
|
|
W_GAMEDIR =$(subst /,\, $(GAMEDIR))
|
|
|
|
#
|
|
# Shorten up the location for some files
|
|
#
|
|
|
|
O = $(OBJ)/
|
|
|
|
U = $(UTIL)/
|
|
|
|
#==========================================
|
|
# Utility Objects.
|
|
#==========================================
|
|
|
|
VGAOBJ = $(O)vidvga.o $(O)vidvesa.o
|
|
|
|
MAKESRC = makedefs.c
|
|
|
|
MAKEDEFSOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.o
|
|
|
|
RECOVOBJS = $(O)recover.o
|
|
|
|
|
|
#==========================================
|
|
# Tile related object files.
|
|
#==========================================
|
|
|
|
ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
TILOBJ =
|
|
TILOBJ2 =
|
|
TEXTIO =
|
|
TEXTIO2 =
|
|
TILE_BMP =
|
|
TILEUTIL =
|
|
TILEFILES =
|
|
TILEFILES2 =
|
|
GIFREADERS =
|
|
GIFREAD2 =
|
|
PPMWRITERS =
|
|
PPMWRIT2 =
|
|
|
|
else
|
|
|
|
TILOBJ = $(O)tile.o $(VGAOBJ)
|
|
|
|
TILOBJ2 = $(O)tileset.o $(O)bmptiles.o $(O)giftiles.o
|
|
|
|
TEXTIO = $(O)tiletext.o $(O)tiletxt.o $(O)drawing.o $(O)monst.o \
|
|
$(O)objects.o $(O)stubvid.o
|
|
|
|
TEXTIO2 = $(O)tiletex2.o $(O)tiletxt2.o $(O)drawing.o $(O)monst.o \
|
|
$(O)objects.o $(O)stubvid.o
|
|
|
|
TILE_BMP = $(DAT)/nhtiles.bmp
|
|
|
|
TILEUTIL = $(TILOBJ) $(U)tile2bin.exe $(U)til2bin2.exe $(TILE_BMP)
|
|
|
|
TILEFILES = $(WSHR)/monsters.txt $(WSHR)/objects.txt $(WSHR)/other.txt
|
|
|
|
TILEFILES2 = $(WSHR)/monthin.txt $(WSHR)/objthin.txt $(WSHR)/oththin.txt
|
|
|
|
GIFREADERS = $(O)gifread.o $(O)alloc.o $(O)panic.o
|
|
|
|
GIFREAD2 = $(O)gifread2.o $(O)alloc.o $(O)panic.o
|
|
|
|
PPMWRITERS = $(O)ppmwrite.o $(O)alloc.o $(O)panic.o
|
|
|
|
PPMWRIT2 = $(O)ppmwrit2.o $(O)alloc.o $(O)panic.o
|
|
endif
|
|
|
|
#REGEX = $(O)pmatchregex.o
|
|
#REGEX = $(O)cppregex.o
|
|
REGEX = $(O)posixreg.o
|
|
|
|
DLBOBJ = $(O)dlb.o
|
|
|
|
# Object files for the game itself.
|
|
|
|
|
|
VOBJ01 = $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o $(O)attrib.o
|
|
VOBJ02 = $(O)ball.o $(O)bones.o $(O)botl.o $(O)cmd.o $(O)dbridge.o
|
|
VOBJ03 = $(O)decl.o $(O)detect.o $(O)dig.o $(O)display.o $(O)do.o
|
|
VOBJ04 = $(O)do_name.o $(O)do_wear.o $(O)dog.o $(O)dogmove.o $(O)dokick.o
|
|
VOBJ05 = $(O)dothrow.o $(O)drawing.o $(O)dungeon.o $(O)eat.o $(O)end.o
|
|
VOBJ06 = $(O)engrave.o $(O)exper.o $(O)explode.o $(O)extralev.o $(O)files.o
|
|
VOBJ07 = $(O)fountain.o $(O)getline.o $(O)hack.o $(O)hacklib.o $(O)invent.o
|
|
VOBJ08 = $(O)isaac64.o $(O)lock.o $(O)mail.o $(O)main.o $(O)makemon.o
|
|
VOBJ09 = $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o $(O)mkmap.o
|
|
VOBJ10 = $(O)mklev.o $(O)mkmaze.o $(O)mkobj.o $(O)mkroom.o $(O)mon.o
|
|
VOBJ11 = $(O)mondata.o $(O)monmove.o $(O)monst.o $(O)mplayer.o $(O)mthrowu.o
|
|
VOBJ12 = $(O)muse.o $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o
|
|
VOBJ13 = $(O)options.o $(O)pickup.o $(O)pline.o $(O)polyself.o $(O)potion.o
|
|
VOBJ14 = $(O)quest.o $(O)questpgr.o $(O)pager.o $(O)pray.o $(O)priest.o
|
|
VOBJ15 = $(O)read.o $(O)rect.o $(O)region.o $(O)restore.o $(O)rip.o
|
|
VOBJ16 = $(O)rnd.o $(O)role.o $(O)rumors.o $(O)save.o $(O)sfstruct.o
|
|
VOBJ17 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o $(O)sp_lev.o
|
|
VOBJ18 = $(O)spell.o $(O)steal.o $(O)steed.o $(O)symbols.o $(O)sys.o
|
|
VOBJ19 = $(O)teleport.o $(O)termcap.o $(O)timeout.o $(O)topl.o $(O)topten.o
|
|
VOBJ20 = $(O)track.o $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)vault.o
|
|
VOBJ21 = $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o $(O)windows.o
|
|
VOBJ22 = $(O)wintty.o $(O)wizard.o $(O)worm.o $(O)worn.o $(O)write.o
|
|
VOBJ23 = $(O)zap.o $(O)light.o $(O)dlb.o
|
|
VOBJ24 = $(REGEX)
|
|
|
|
SOBJ = $(O)msdos.o $(O)pcsys.o $(O)tty.o $(O)unix.o \
|
|
$(O)video.o $(O)vidtxt.o $(O)pckeys.o
|
|
|
|
VVOBJ = $(O)version.o
|
|
|
|
LUAOBJ = $(O)nhlua.o $(O)nhlsel.o $(O)nhlobj.o
|
|
LUA_QTEXT_FILE = "quest.lua"
|
|
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
CURSESOBJ= $(O)cursdial.o $(O)cursinit.o $(O)cursinvt.o $(O)cursmain.o \
|
|
$(O)cursmesg.o $(O)cursmisc.o $(O)cursstat.o $(O)curswins.o
|
|
else
|
|
CURSESOBJ=
|
|
endif
|
|
|
|
VOBJ = $(VOBJ01) $(VOBJ02) $(VOBJ03) $(VOBJ04) $(VOBJ05) \
|
|
$(VOBJ06) $(VOBJ07) $(VOBJ08) $(VOBJ09) $(VOBJ10) \
|
|
$(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) $(VOBJ15) \
|
|
$(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ19) $(VOBJ20) \
|
|
$(VOBJ21) $(VOBJ22) $(VOBJ23) $(VOBJ24) $(VOBJ25) \
|
|
$(CURSESOBJ) $(LUAOBJ)
|
|
|
|
ALLOBJ = $(VOBJ) $(SOBJ) $(TILOBJ) $(TILOBJ2) $(VVOBJ)
|
|
|
|
#===============-=================================================
|
|
# LUA library
|
|
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
|
|
#=================================================================
|
|
|
|
LUASRC = $(LUATOP)/src
|
|
LUALIB = $(O)lua$(subst .,, $(LUAVER))s.a
|
|
LUADLL = $(O)lua$(subst .,, $(LUAVER)).a
|
|
LUAINCL = -I$(LUASRC)
|
|
#LUAFLAGS = unix added -lm here?
|
|
LUATARGETS = lua.exe luac.exe $(LUADLL) $(LUALIB)
|
|
|
|
LUASRCFILES = lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c \
|
|
lcorolib.c lctype.c ldblib.c ldebug.c ldo.c \
|
|
ldump.c lfunc.c lgc.c linit.c liolib.c llex.c \
|
|
lmathlib.c lmem.c loadlib.c lobject.c lopcodes.c \
|
|
loslib.c lparser.c lstate.c lstring.c lstrlib.c \
|
|
ltable.c ltablib.c ltm.c lundump.c lutf8lib.c \
|
|
lvm.c lzio.c
|
|
|
|
LUAOBJFILES1 = $(O)lapi.o $(O)lauxlib.o $(O)lbaselib.o $(O)lbitlib.o \
|
|
$(O)lcode.o $(O)lcorolib.o $(O)lctype.o $(O)ldblib.o \
|
|
$(O)ldebug.o $(O)ldo.o $(O)ldump.o $(O)lfunc.o
|
|
LUAOBJFILES2 = $(O)lgc.o $(O)linit.o $(O)liolib.o $(O)llex.o \
|
|
$(O)lmathlib.o $(O)lmem.o $(O)loadlib.o $(O)lobject.o \
|
|
$(O)lopcodes.o $(O)loslib.o $(O)lparser.o $(O)lstate.o
|
|
LUAOBJFILES3 = $(O)lstring.o $(O)lstrlib.o $(O)ltable.o $(O)ltablib.o \
|
|
$(O)ltm.o $(O)lundump.o $(O)lutf8lib.o $(O)lvm.o $(O)lzio.o
|
|
LUAOBJFILES = $(LUAOBJFILES1) $(LUAOBJFILES2) $(LUAOBJFILES3)
|
|
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
#==========================================
|
|
# PDCurses build macros
|
|
#==========================================
|
|
PDCURSES_CURSES_H = $(PDCURSES_TOP)/curses.h
|
|
PDCURSES_CURSPRIV_H = $(PDCURSES_TOP)/curspriv.h
|
|
PDCURSES_HEADERS = $(PDCURSES_CURSES_H) $(PDCURSES_CURSPRIV_H)
|
|
PDCSRC = $(PDCURSES_TOP)/pdcurses
|
|
PDCDOS = $(PDCURSES_TOP)/dos
|
|
PDCLIBOBJS1 = $(O)addch.o $(O)addchstr.o $(O)addstr.o $(O)attr.o $(O)beep.o \
|
|
$(O)bkgd.o $(O)border.o $(O)clear.o $(O)color.o $(O)delch.o $(O)deleteln.o \
|
|
$(O)getch.o
|
|
PDCLIBOBJS2 = $(O)getstr.o $(O)getyx.o $(O)inch.o $(O)inchstr.o $(O)initscr.o \
|
|
$(O)inopts.o $(O)insch.o $(O)insstr.o $(O)instr.o $(O)kernel.o \
|
|
$(O)keyname.o $(O)mouse.o
|
|
PDCLIBOBJS3 = $(O)move.o $(O)outopts.o $(O)overlay.o $(O)pad.o $(O)panel.o \
|
|
$(O)printw.o $(O)refresh.o $(O)scanw.o $(O)scr_dump.o $(O)scroll.o \
|
|
$(O)slk.o $(O)termattr.o
|
|
PDCLIBOBJS4 = $(O)touch.o $(O)util.o $(O)window.o $(O)debug.o
|
|
PDCLIBOBJS = $(PDCLIBOBJS1) $(PDCLIBOBJS2) $(PDCLIBOBJS3) $(PDCLIBOBJS4)
|
|
|
|
PDCOBJS = $(O)pdcclip.o $(O)pdcdisp.o $(O)pdcgetsc.o $(O)pdckbd.o \
|
|
$(O)pdcscrn.o $(O)pdcsetsc.o $(O)pdcutil.o
|
|
|
|
#PDCOBJS = $(O)pdcclip.o $(O)pdcdisp.o $(O)pdcgetsc.o $(O)pdckbd.o $(O)pdcscrn.o \
|
|
# $(O)pdcsetsc.o $(O)pdcutil.o
|
|
|
|
PDCLIB = $(O)pdcurses.a
|
|
|
|
PDCINCL = -I$(PDCURSES_TOP) -I$(PDCSRC) -I$(PDCDOS)
|
|
else
|
|
PDCLIB =
|
|
endif
|
|
|
|
#==========================================
|
|
# Header file macros
|
|
#==========================================
|
|
|
|
PATCHLEV_H = $(INCL)/patchlev.h
|
|
DGN_FILE_H = $(INCL)/align.h $(INCL)/dgn_file.h
|
|
DUNGEON_H = $(INCL)/align.h $(INCL)/dungeon.h
|
|
MONDATA_H = $(INCL)/align.h $(INCL)/mondata.h
|
|
MONST_H = $(INCL)/align.h $(INCL)/monst.h $(INCL)/mextra.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
|
|
YOUPROP_H = $(PERMONST_H) $(MONDATA_H) $(INCL)/prop.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 \
|
|
$(MSYS)/pcvideo.h
|
|
CONFIG_H = $(GLOBAL_H) $(INCL)/fnamesiz.h $(INCL)/tradstdc.h \
|
|
$(INCL)/config1.h $(INCL)/config.h
|
|
DECL_H = $(YOU_H) $(INCL)/spell.h $(INCL)/color.h \
|
|
$(INCL)/obj.h $(INCL)/objects.h \
|
|
$(INCL)/decl.h
|
|
GLOBAL_H = $(PCCONF_H) $(INCL)/coord.h $(INCL)/global.h
|
|
HACK_H = $(CONFIG_H) $(INCL)/context.h $(DUNGEON_H) \
|
|
$(DECL_H) $(DISPLAY_H) $(INCL)/sym.h \
|
|
$(INCL)/defsym.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)/hack.h $(REGION_H) \
|
|
$(INCL)/sys.h
|
|
DLB_H = $(INCL)/dlb.h
|
|
|
|
ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
TILE_H =
|
|
else
|
|
TILE_H = $(WSHR)/tile.h $(INCL)/tileset.h
|
|
endif
|
|
|
|
ifeq ($(USE_DLB),Y)
|
|
DLB = dlb
|
|
DLBOBJS = $(O)dlb_main.o $(O)dlb.o $(O)alloc.o $(O)panic.o
|
|
else
|
|
DLB =
|
|
DLBOBJS =
|
|
endif
|
|
|
|
ifdef DJGPP
|
|
DJ1 = $(dir $(DJGPP))
|
|
CWSDPMI = $(subst /,\,$(DJ1))bin\CWSDPMI.*
|
|
endif
|
|
|
|
#==========================================
|
|
# More compiler setup macros
|
|
#==========================================
|
|
#
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
CURSESDEF=-D"CURSES_GRAPHICS" -D"CURSES_BRIEF_INCLUDE"
|
|
else
|
|
CURSESDEF=
|
|
CURSESLIB=
|
|
endif
|
|
|
|
INCLDIR=-I../include -I../sys/msdos $(LUAINCL)
|
|
|
|
# Debugging
|
|
#cflags = -pg -c $(INCLDIR) $(DLBFLG) $(CURSESDEF) -DSUPPRESS_GRAPHICS
|
|
#LFLAGS = -pg
|
|
|
|
cflags = -c -O $(INCLDIR) $(DLBFLG) $(CURSESDEF) -DSUPPRESS_GRAPHICS
|
|
LFLAGS =
|
|
|
|
# Debugging
|
|
#cflags = -g -c $(INCLDIR) $(DLBFLG) $(CURSESDEF) -DUSE_TILES
|
|
#LFLAGS = -g
|
|
|
|
# Normal
|
|
cflags = -c -O $(INCLDIR) $(DLBFLG) $(CURSESDEF) -DUSE_TILES
|
|
LFLAGS =
|
|
|
|
#==========================================
|
|
#================ RULES ==================
|
|
#==========================================
|
|
|
|
.SUFFIXES: .exe .o .til .uu .c .y .l
|
|
|
|
#==========================================
|
|
# Rules for files in src
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : /%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
|
|
$(OBJ)/%.o : $(SRC)/%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in sys/share
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(SSHR)/%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in sys/msdos
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(MSYS)/%.c
|
|
$(CC) $(cflags) -I../sys/msdos -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in util
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(UTIL)/%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in win/share
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(WSHR)/%.c
|
|
$(CC) $(cflags) -I../win/share -o$@ $<
|
|
|
|
#{$(WSHR)}.txt{$(DAT)}.txt:
|
|
# copy $< $@
|
|
|
|
#==========================================
|
|
# Rules for files in win/tty
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(TTY)/%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in win/curses
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(WCURSES)/%.c
|
|
$(CC) -DPDC_NCMOUSE $(PDCINCL) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in PDCurses
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(PDCURSES_TOP)/%.c
|
|
$(CC) $(PDCINCL) $(cflags) -o$@ $<
|
|
|
|
$(OBJ)/%.o : $(PDCSRC)/%.c
|
|
$(CC) $(PDCINCL) $(cflags) -o$@ $<
|
|
|
|
$(OBJ)/%.o : $(PDCDOS)/%.c
|
|
$(CC) $(PDCINCL) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for LUA files
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(LUASRC)/%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
|
|
#==========================================
|
|
# Primary Targets.
|
|
#==========================================
|
|
|
|
# The default target.
|
|
|
|
all : install
|
|
|
|
install: $(GAMEFILE) $(O)install.tag
|
|
@echo Done.
|
|
|
|
default: $(GAMEFILE)
|
|
|
|
util: $(O)utility.tag
|
|
|
|
$(O)utility.tag: $(INCL)/date.h $(INCL)/trap.h $(INCL)/objects.h \
|
|
$(TILEUTIL)
|
|
$(subst /,\,echo utilities made > $@)
|
|
|
|
tileutil: $(U)gif2txt.exe $(U)txt2ppm.exe
|
|
@echo Optional tile development utilities are up to date.
|
|
|
|
recover: $(U)recover.exe
|
|
@$(subst /,\,if exist $(U)recover.exe copy $(U)recover.exe $(GAMEDIR))
|
|
@$(subst /,\,if exist $(DOC)/recover.txt copy $(DOC)/recover.txt $(GAMEDIR))
|
|
|
|
$(O)install.tag: $(O)dat.tag $(GAMEFILE)
|
|
ifeq ($(USE_DLB),Y)
|
|
@$(subst /,\,copy $(DAT)/nhdat $(GAMEDIR))
|
|
@$(subst /,\,copy $(DAT)/license $(GAMEDIR))
|
|
else
|
|
@$(subst /,\,copy $(DAT)/*. $(GAMEDIR))
|
|
@$(subst /,\,copy $(DAT)/*.dat $(GAMEDIR))
|
|
@$(subst /,\,copy $(DAT)/*.lua $(GAMEDIR))
|
|
@$(subst /,\,copy $(MSYS)/msdoshlp.txt $(GAMEDIR))
|
|
@$(subst /,\,if exist $(GAMEDIR)/makefile. del $(GAMEDIR)/makefile.)
|
|
endif
|
|
ifdef TERMLIB
|
|
@$(subst /,\,copy $(SSHR)/termcap $(GAMEDIR))
|
|
endif
|
|
@$(subst /,\,if exist $(TILE_BMP) copy $(TILE_BMP) $(GAMEDIR))
|
|
@$(subst /,\,if exist $(DAT)/symbols copy $(DAT)/symbols $(GAMEDIR))
|
|
@$(subst /,\,copy $(SSHR)/NetHack.cnf $(GAMEDIR)/defaults.nh)
|
|
-@$(subst /,\,touch $(GAMEDIR)/record)
|
|
@$(subst /,\,copy $(DOC)/guideb*.txt $(GAMEDIR))
|
|
@$(subst /,\,copy ../sys/windows/sysconf $(GAMEDIR))
|
|
@$(subst /,\,if not exist $(GAMEDIR)/sysconf touch $(GAMEDIR)/sysconf)
|
|
@$(subst /,\,if exist $(DOC)/nethack.txt copy $(DOC)/nethack.txt $(GAMEDIR))
|
|
ifdef CWSDPMI
|
|
@$(subst /,\,if exist $(CWSDPMI) copy $(CWSDPMI) $(GAMEDIR))
|
|
else
|
|
@$(subst /,\,echo Could not find a copy of CWSDPMI.EXE to put into $(GAMEDIR))
|
|
endif
|
|
@$(subst /,\,echo install done > $@)
|
|
|
|
#==========================================
|
|
# The main target.
|
|
#==========================================
|
|
|
|
$(GAMEFILE): $(O)obj.tag $(PATCHLEV_H) $(PDCLIB) $(LUATARGETS) \
|
|
$(O)utility.tag $(ALLOBJ)
|
|
@if exist temp.a del temp.a
|
|
@ar ruS temp.a $(VOBJ01)
|
|
@ar ruS temp.a $(VOBJ02)
|
|
@ar ruS temp.a $(VOBJ03)
|
|
@ar ruS temp.a $(VOBJ04)
|
|
@ar ruS temp.a $(VOBJ05)
|
|
@ar ruS temp.a $(VOBJ06)
|
|
@ar ruS temp.a $(VOBJ07)
|
|
@ar ruS temp.a $(VOBJ08)
|
|
@ar ruS temp.a $(VOBJ09)
|
|
@ar ruS temp.a $(VOBJ10)
|
|
@ar ruS temp.a $(VOBJ11)
|
|
@ar ruS temp.a $(VOBJ12)
|
|
@ar ruS temp.a $(VOBJ13)
|
|
@ar ruS temp.a $(VOBJ14)
|
|
@ar ruS temp.a $(VOBJ15)
|
|
@ar ruS temp.a $(VOBJ16)
|
|
@ar ruS temp.a $(VOBJ17)
|
|
@ar ruS temp.a $(VOBJ18)
|
|
@ar ruS temp.a $(VOBJ19)
|
|
@ar ruS temp.a $(VOBJ20)
|
|
@ar ruS temp.a $(VOBJ21)
|
|
@ar ruS temp.a $(VOBJ22)
|
|
@ar ruS temp.a $(VOBJ23)
|
|
@ar ruS temp.a $(VOBJ24)
|
|
@ar ruS temp.a $(VOBJ25)
|
|
@ar ruS temp.a $(SOBJ)
|
|
@ar ruS temp.a $(TILOBJ)
|
|
@ar ruS temp.a $(TILOBJ2)
|
|
@ar ruS temp.a $(VVOBJ)
|
|
@ar ruS temp.a $(LUAOBJ)
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
@ar ruS temp.a $(CURSESOBJ)
|
|
endif
|
|
@ranlib temp.a
|
|
$(LINK) $(LFLAGS) -o$(GAME).exe temp.a \
|
|
$(PDCLIB) $(LUALIB) $(LIBRARIES) $(ZLIB)
|
|
@$(subst /,\,stubedit $(GAME).exe minstack=2048K)
|
|
@$(subst /,\,copy $(GAME).exe $(GAMEFILE))
|
|
@$(subst /,\,del $(GAME).exe)
|
|
|
|
#==========================================
|
|
#=========== 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 : $(U)makedefs.exe
|
|
-$(subst /,\,$(U)makedefs -v)
|
|
|
|
$(INCL)/onames.h: $(U)makedefs.exe
|
|
-$(subst /,\,$(U)makedefs -o)
|
|
|
|
$(INCL)/pm.h: $(U)makedefs.exe
|
|
-$(subst /,\,$(U)makedefs -p)
|
|
|
|
#==========================================
|
|
# Makedefs Stuff
|
|
#==========================================
|
|
|
|
$(U)makedefs.exe: $(MAKEDEFSOBJS)
|
|
$(LINK) $(LFLAGS) -o$@ $(MAKEDEFSOBJS)
|
|
|
|
$(O)makedefs.o: $(CONFIG_H) $(PERMONST_H) $(INCL)/objclass.h \
|
|
$(INCL)/sym.h $(INCL)/defsym.h $(U)makedefs.c
|
|
|
|
#==========================================
|
|
# Recover Utility
|
|
#==========================================
|
|
|
|
$(U)recover.exe: $(RECOVOBJS)
|
|
$(LINK) $(LFLAGS) -o$@ $(O)recover.o
|
|
|
|
$(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
|
|
#
|
|
# Tile Mapping
|
|
#
|
|
|
|
$(SRC)/tile.c: $(U)tilemap.exe
|
|
@$(subst /,\,$(U)tilemap.exe)
|
|
@echo A new $@ has been created
|
|
|
|
$(U)tilemap.exe: $(O)tilemap.o
|
|
$(LINK) $(LFLAGS) -o$@ $(O)tilemap.o
|
|
|
|
$(O)tilemap.o: $(WSHR)/tilemap.c $(HACK_H) $(TILE_H)
|
|
$(CC) $(cflags) -I$(WSHR) -I$(MSYS) -o$@ $(WSHR)/tilemap.c
|
|
|
|
endif
|
|
|
|
#==========================================
|
|
# Tile Utilities
|
|
# Required for tile support
|
|
#==========================================
|
|
|
|
$(DAT)/nhtiles.bmp: $(TILEFILES) $(U)tile2bmp.exe
|
|
@echo Creating binary tile files (this may take some time)
|
|
@$(subst /,\,chdir $(DAT))
|
|
@$(subst /,\,$(U)tile2bmp.exe $@)
|
|
@$(subst /,\,chdir $(SRC))
|
|
|
|
$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXTIO)
|
|
-rm -f temp.a
|
|
@ar ru temp.a $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -o$@ $(O)tile2bmp.o temp.a
|
|
|
|
$(U)tile2bin.exe: $(O)tile2bin.o $(TEXTIO)
|
|
-rm -f temp.a
|
|
@ar ru temp.a $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -o$@ $(O)tile2bin.o temp.a
|
|
|
|
$(U)til2bin2.exe: $(O)til2bin2.o $(TEXTIO2)
|
|
-rm -f temp.a
|
|
@ar ru temp.a $(TEXTIO2)
|
|
$(LINK) $(LFLAGS) -o$@ $(O)til2bin2.o temp.a
|
|
|
|
$(U)thintile.exe: $(O)thintile.o
|
|
$(LINK) $(LFLAGS) -o$@ $(O)thintile.o
|
|
|
|
$(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 /,\,echo thintiles created >$@)
|
|
|
|
$(O)tile2bmp.o: $(HACK_H) $(TILE_H) $(WSHR)/tile2bmp.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -o$@ $(WSHR)/tile2bmp.c
|
|
|
|
$(O)tile2bin.o: $(HACK_H) $(TILE_H) $(MSYS)/pctiles.h $(MSYS)/pcvideo.h $(MSYS)/tile2bin.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -o$@ $(MSYS)/tile2bin.c
|
|
|
|
$(O)til2bin2.o: $(HACK_H) $(TILE_H) $(MSYS)/pctiles.h $(MSYS)/pcvideo.h $(MSYS)/tile2bin.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -DTILE_X=8 -DOVERVIEW_FILE -o$@ $(MSYS)/tile2bin.c
|
|
|
|
$(O)tiletext.o: $(CONFIG_H) $(TILE_H) $(WSHR)/tiletext.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -o$@ $(WSHR)/tiletext.c
|
|
|
|
$(O)tiletex2.o: $(CONFIG_H) $(TILE_H) $(WSHR)/tiletext.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -DTILE_X=8 -o$@ $(WSHR)/tiletext.c
|
|
|
|
$(O)tiletxt.o: $(CONFIG_H) $(TILE_H) $(WSHR)/tilemap.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -DTILETEXT -o$@ $(WSHR)/tilemap.c
|
|
|
|
$(O)tiletxt2.o: $(CONFIG_H) $(TILE_H) $(WSHR)/tilemap.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -DTILETEXT -DTILE_X=8 -o$@ $(WSHR)/tilemap.c
|
|
#
|
|
# Optional GIF Utilities (for development)
|
|
#
|
|
|
|
$(U)gif2txt.exe: $(GIFREADERS) $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -o$@ $(GIFREADERS) $(TEXTIO)
|
|
|
|
$(U)gif2txt2.exe: $(GIFREAD2) $(TEXTIO2)
|
|
$(LINK) $(LFLAGS) -o$@ $(GIFREAD2) $(TEXTIO2)
|
|
|
|
$(U)txt2ppm.exe: $(PPMWRITERS) $(TEXTIO)
|
|
$(LINK) $(LFLAGS) -o$@ $(PPMWRITERS) $(TEXTIO)
|
|
|
|
$(U)txt2ppm2.exe: $(PPMWRIT2) $(TEXTIO2)
|
|
$(LINK) $(LFLAGS) -o$@ $(PPMWRIT2) $(TEXTIO2)
|
|
|
|
$(O)gifread.o: $(CONFIG_H) $(WSHR)/tile.h $(WSHR)/gifread.c
|
|
|
|
$(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 .)
|
|
|
|
$(O)ppmwrite.o: $(CONFIG_H) $(WSHR)/tile.h
|
|
|
|
$(O)ppmwrit2.o: $(CONFIG_H) $(WSHR)/tile.h ppmwrite.c
|
|
$(CC) $(cflags) -DTILE_X=8 -o$@ ppmwrite.c
|
|
|
|
#
|
|
# Optional tile viewer (development sources only)
|
|
#
|
|
|
|
$(U)viewtib.exe: $(O)viewtib.o
|
|
$(LINK) $(LFLAGS) -o$@ $(O)viewtib.o $(LIBRARIES)
|
|
|
|
$(O)viewtib.o: $(MSYS)/viewtib.c
|
|
|
|
#==========================================
|
|
# PDCurses Library
|
|
#==========================================
|
|
|
|
$(O)pdcurses.a : $(PDCLIBOBJS) $(PDCOBJS)
|
|
ar rcS $@ $(PDCLIBOBJS1)
|
|
ar rcS $@ $(PDCLIBOBJS2)
|
|
ar rcS $@ $(PDCLIBOBJS3)
|
|
ar rcS $@ $(PDCLIBOBJS4)
|
|
ar rcs $@ $(PDCOBJS)
|
|
|
|
#==========================================
|
|
# Other Util Dependencies.
|
|
#==========================================
|
|
|
|
$(O)alloc.o: $(CONFIG_H) alloc.c
|
|
$(CC) $(cflags) -o$@ alloc.c
|
|
|
|
$(O)drawing.o: $(CONFIG_H) drawing.c $(MSYS)/pcvideo.h
|
|
$(CC) $(cflags) -I$(MSYS) -o$@ drawing.c
|
|
|
|
$(O)decl.o: $(CONFIG_H) decl.c
|
|
$(CC) $(cflags) -o$@ decl.c
|
|
|
|
$(O)monst.o: $(CONFIG_H) $(PERMONST_H) $(INCL)/sym.h \
|
|
$(INCL)/defsym.h $(INCL)/color.h monst.c
|
|
$(CC) $(cflags) -o$@ monst.c
|
|
|
|
$(O)objects.o: $(CONFIG_H) $(INCL)/obj.h $(INCL)/objclass.h \
|
|
$(INCL)/prop.h $(INCL)/color.h objects.c
|
|
$(CC) $(cflags) -o$@ objects.c
|
|
|
|
$(O)panic.o: $(CONFIG_H) $(U)panic.c
|
|
|
|
#============================================================
|
|
# make data.base an 8.3 filename to prevent an make warning
|
|
#============================================================
|
|
|
|
DATABASE = $(DAT)/data.bas
|
|
|
|
|
|
$(O)dat.tag: $(DAT)/nhdat
|
|
@$(subst /,\,echo dat done >$@)
|
|
|
|
$(DAT)/data: $(O)utility.tag $(DATABASE)
|
|
@$(subst /,\,$(U)makedefs.exe -d)
|
|
|
|
$(DAT)/rumors: $(O)utility.tag $(DAT)/rumors.tru $(DAT)/rumors.fal
|
|
@$(subst /,\,$(U)makedefs.exe -r)
|
|
|
|
$(DAT)/oracles: $(O)utility.tag $(DAT)/oracles.txt
|
|
@$(subst /,\,$(U)makedefs.exe -h)
|
|
|
|
$(DAT)/bogusmon: $(O)utility.tag $(DAT)/bogusmon.txt
|
|
@$(subst /,\,$(U)makedefs.exe -s)
|
|
|
|
$(DAT)/engrave: $(O)utility.tag $(DAT)/engrave.txt
|
|
@$(subst /,\,$(U)makedefs.exe -s)
|
|
|
|
$(DAT)/epitaph: $(O)utility.tag $(DAT)/epitaph.txt
|
|
@$(subst /,\,$(U)makedefs.exe -s)
|
|
|
|
$(O)sp_lev.tag: $(O)utility.tag
|
|
@$(subst /,\,echo sp_levs done > $@)
|
|
|
|
#==========================================
|
|
# DLB stuff
|
|
#==========================================
|
|
|
|
#note that dir below assumes bin/dir.exe from djgpp distribution
|
|
#
|
|
$(DAT)/nhdat: $(U)dlb_main.exe $(DAT)/data $(DAT)/rumors \
|
|
$(DAT)/oracles \
|
|
$(QUEST_DAT) \
|
|
$(O)sp_lev.tag \
|
|
$(DAT)/bogusmon $(DAT)/engrave $(DAT)/epitaph $(DAT)/tribute
|
|
@$(subst /,\,echo dat done >$(O)dat.tag)
|
|
@$(subst /,\,cd $(DAT))
|
|
@$(subst /,\,copy $(MSYS)/msdoshlp.txt .)
|
|
@$(LS) data oracles options rumors help hh >dlb.lst
|
|
@$(LS) cmdhelp history opthelp wizhelp license msdoshlp.txt >>dlb.lst
|
|
@$(LS) bogusmon engrave epitaph tribute >>dlb.lst
|
|
$(LS) $(subst /,\,*.lua) >>dlb.lst
|
|
@$(subst /,\,$(U)dlb_main cvIf dlb.lst nhdat)
|
|
@$(subst /,\,cd $(SRC))
|
|
|
|
$(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
|
|
|
|
#==========================================
|
|
# Housekeeping.
|
|
#==========================================
|
|
|
|
clean:
|
|
$(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)
|
|
$(subst /,\,if exist temp.a del temp.a)
|
|
|
|
spotless: clean
|
|
|
|
$(subst /,\,if exist $(U)makedefs.exe del $(U)makedefs.exe)
|
|
$(subst /,\,if exist $(U)recover.exe del $(U)recover.exe)
|
|
$(subst /,\,if exist $(U)tilemap.exe del $(U)tilemap.exe)
|
|
$(subst /,\,if exist $(U)tile2bmp.exe del $(U)tile2bmp.exe)
|
|
$(subst /,\,if exist $(U)tile2bin.exe del $(U)tile2bin.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)/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 $(SRC)/monstr.c del $(SRC)/monstr.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)/oracles del $(DAT)/oracles)
|
|
$(subst /,\,if exist $(DAT)/bogusmon del $(DAT)/bogusmon)
|
|
$(subst /,\,if exist $(DAT)/engrave del $(DAT)/engrave)
|
|
$(subst /,\,if exist $(DAT)/epitaph del $(DAT)/epitaph)
|
|
$(subst /,\,if exist $(DAT)/dlb.lst del $(DAT)/dlb.lst)
|
|
$(subst /,\,if exist $(DAT)/nhdat del $(DAT)/nhdat)
|
|
$(subst /,\,if exist $(TILE_BMP) del $(TILE_BMP))
|
|
$(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)
|
|
|
|
#==========================================
|
|
# Create directory for holding object files
|
|
#==========================================
|
|
|
|
$(O)obj.tag:
|
|
-$(subst /,\,@if not exist $(OBJ)/*.* mkdir $(OBJ))
|
|
@$(subst /,\,@echo directory created > $@)
|
|
|
|
#===========================================
|
|
# Work around some djgpp long file name woes
|
|
#===========================================
|
|
|
|
$(PATCHLEV_H):
|
|
@$(subst /,\,if not exist $@ copy $(INCL)/patchlevel.h $(INCL)/patchlev.h)
|
|
|
|
#=============================================================
|
|
# LUA
|
|
#=============================================================
|
|
|
|
lua.exe: $(O)lua.o $(LUALIB)
|
|
$(link) $(LFLAGS) -o$@ $(O)lua.o $(LUALIB)
|
|
|
|
luac.exe: $(O)luac.o $(O)lua$(subst .,, $(LUAVER))s.a
|
|
$(link) $(LFLAGSU) -o$@ $(O)luac.o $(LUALIB)
|
|
|
|
$(O)lua$(subst .,, $(LUAVER)).a: $(LUAOBJFILES)
|
|
$(cc) -shared -Wl,--export-all-symbols \
|
|
-Wl,--add-stdcall-alias -o $@ $<
|
|
|
|
$(O)lua$(subst .,, $(LUAVER))s.a: $(LUAOBJFILES)
|
|
ar rcS $@ $(LUAOBJFILES1)
|
|
ar rcS $@ $(LUAOBJFILES2)
|
|
ar rcs $@ $(LUAOBJFILES3)
|
|
|
|
$(O)lua.o: $(LUASRC)/lua.c
|
|
$(O)luac.o: $(LUASRC)/luac.c
|
|
|
|
#==========================================
|
|
# Housekeeping.
|
|
#==========================================
|
|
|
|
clean:
|
|
$(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)
|
|
$(subst /,\,if exist temp.a del temp.a)
|
|
|
|
spotless: clean
|
|
|
|
$(subst /,\,if exist $(U)makedefs.exe del $(U)makedefs.exe)
|
|
$(subst /,\,if exist $(U)recover.exe del $(U)recover.exe)
|
|
$(subst /,\,if exist $(U)tilemap.exe del $(U)tilemap.exe)
|
|
$(subst /,\,if exist $(U)tile2bmp.exe del $(U)tile2bmp.exe)
|
|
$(subst /,\,if exist $(U)tile2bin.exe del $(U)tile2bin.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)/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 $(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)/oracles del $(DAT)/oracles)
|
|
ifndef LUA_QTEXT_FILE
|
|
$(subst /,\,if exist $(DAT)/quest.dat del $(DAT)/quest.dat)
|
|
endif
|
|
$(subst /,\,if exist $(DAT)/bogusmon del $(DAT)/bogusmon)
|
|
$(subst /,\,if exist $(DAT)/engrave del $(DAT)/engrave)
|
|
$(subst /,\,if exist $(DAT)/epitaph del $(DAT)/epitaph)
|
|
$(subst /,\,if exist $(DAT)/dlb.lst del $(DAT)/dlb.lst)
|
|
$(subst /,\,if exist $(DAT)/nhdat del $(DAT)/nhdat)
|
|
$(subst /,\,if exist $(TILE_BMP) del $(TILE_BMP))
|
|
$(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)
|
|
|
|
#==========================================
|
|
# Create directory for holding object files
|
|
#==========================================
|
|
|
|
$(O)obj.tag:
|
|
-$(subst /,\,@if not exist $(OBJ)/*.* mkdir $(OBJ))
|
|
@$(subst /,\,@echo directory created > $@)
|
|
|
|
#===========================================
|
|
# Work around some djgpp long file name woes
|
|
#===========================================
|
|
|
|
$(PATCHLEV_H):
|
|
@$(subst /,\,if not exist $@ copy $(INCL)/patchlevel.h $(INCL)/patchlev.h)
|
|
|
|
#==========================================
|
|
# Game Dependencies
|
|
#==========================================
|
|
|
|
# sys/share
|
|
$(O)main.o: $(HACK_H) $(DLB_H) $(SSHR)/pcmain.c
|
|
$(CC) $(cflags) -o$@ $(SSHR)/pcmain.c
|
|
|
|
$(O)tty.o: $(HACK_H) $(INCL)/wintty.h $(SSHR)/pctty.c
|
|
$(CC) $(cflags) -o$@ $(SSHR)/pctty.c
|
|
|
|
$(O)unix.o: $(HACK_H) $(SSHR)/pcunix.c
|
|
$(CC) $(cflags) -o$@ $(SSHR)/pcunix.c
|
|
|
|
$(O)pcsys.o : $(HACK_H) $(SSHR)/pcsys.c
|
|
$(CC) $(cflags) -o$@ $(SSHR)/pcsys.c
|
|
|
|
$(O)posixreg.o : $(HACK_H) $(SSHR)/posixreg.c
|
|
$(CC) $(cflags) -o$@ $(SSHR)/posixreg.c
|
|
|
|
$(O)cppregex.o : $(HACK_H) $(SSHR)/cppregex.cpp
|
|
gpp $(cflags) -std=c++11 -o$@ $(SSHR)/cppregex.cpp
|
|
|
|
$(O)pmatchre.o : $(HACK_H) $(SSHR)/pmatchre.c
|
|
$(CC) $(cflags) -o$@ $(SSHR)/pmatchre.c
|
|
|
|
# sys/msdos
|
|
$(O)msdos.o : $(HACK_H) $(MSYS)/msdos.c
|
|
# $(CC) $(cflags) -o$@ $(MSYS)/msdos.c
|
|
|
|
$(O)pckeys.o : $(HACK_H) $(MSYS)/pckeys.c
|
|
# $(CC) $(cflags) -o$@ $(MSYS)/pckeys.c
|
|
|
|
$(O)pctiles.o : $(HACK_H) $(MSYS)/pctiles.c $(MSYS)/portio.h
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -o$@ $(MSYS)/pctiles.c
|
|
|
|
$(O)video.o : $(HACK_H) $(MSYS)/pcvideo.h $(MSYS)/portio.h $(MSYS)/video.c
|
|
# $(CC) $(cflags) -o$@ -I$(MSYS) $(MSYS)/video.c
|
|
|
|
$(O)vidvga.o : $(HACK_H) $(MSYS)/pcvideo.h $(MSYS)/portio.h $(TILE_H) $(MSYS)/vidvga.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -o$@ $(MSYS)/vidvga.c
|
|
|
|
$(O)vidvesa.o : $(HACK_H) $(MSYS)/pcvideo.h $(MSYS)/portio.h $(TILE_H) $(MSYS)/vidvesa.c
|
|
$(CC) $(cflags) -I$(MSYS) -I$(WSHR) -o$@ $(MSYS)/vidvesa.c
|
|
|
|
$(O)vidtxt.o : $(HACK_H) $(MSYS)/pcvideo.h $(MSYS)/portio.h $(TILE_H) $(MSYS)/vidtxt.c
|
|
# $(CC) $(cflags) -o$@ -I$(MSYS) $(MSYS)/vidtxt.c
|
|
|
|
$(O)stubvid.o : $(HACK_H) $(MSYS)/pcvideo.h $(MSYS)/video.c
|
|
$(CC) $(cflags) -I$(MSYS) -DSTUBVIDEO -o$@ $(MSYS)/video.c
|
|
|
|
|
|
# src dependencies
|
|
|
|
#
|
|
# The rest are stolen from sys/unix/Makefile.src,
|
|
# with the following changes:
|
|
# o -c (which is included in cflags) substituted with -o$@ ,
|
|
# o an explicit build instruction for dlb.o because it requires
|
|
# a .h file in ../sys/msdos.
|
|
# o $(CFLAGS) changed to $(cflags)
|
|
# Other than that, these dependencies are untouched.
|
|
# That means that there is some irrelevant stuff
|
|
# in here, but maintenance should be easier.
|
|
#
|
|
$(O)tos.o: ../sys/atari/tos.c $(HACK_H) $(INCL)/tcap.h
|
|
$(CC) $(cflags) -o$@ ../sys/atari/tos.c
|
|
$(O)pcmain.o: ../sys/share/pcmain.c $(HACK_H) $(INCL)/dlb.h \
|
|
#$(INCL)/win32api.h
|
|
$(CC) $(cflags) -o$@ ../sys/share/pcmain.c
|
|
$(O)pctty.o: ../sys/share/pctty.c $(HACK_H)
|
|
$(CC) $(cflags) -o$@ ../sys/share/pctty.c
|
|
$(O)pcunix.o: ../sys/share/pcunix.c $(HACK_H)
|
|
$(CC) $(cflags) -o$@ ../sys/share/pcunix.c
|
|
$(O)random.o: ../sys/share/random.c $(HACK_H)
|
|
$(CC) $(cflags) -o$@ ../sys/share/random.c
|
|
$(O)ioctl.o: ../sys/share/ioctl.c $(HACK_H) $(INCL)/tcap.h
|
|
$(CC) $(cflags) -o$@ ../sys/share/ioctl.c
|
|
$(O)unixtty.o: ../sys/share/unixtty.c $(HACK_H)
|
|
$(CC) $(cflags) -o$@ ../sys/share/unixtty.c
|
|
$(O)unixmain.o: ../sys/unix/unixmain.c $(HACK_H) $(INCL)/dlb.h
|
|
$(CC) $(cflags) -o$@ ../sys/unix/unixmain.c
|
|
$(O)unixunix.o: ../sys/unix/unixunix.c $(HACK_H)
|
|
$(CC) $(cflags) -o$@ ../sys/unix/unixunix.c
|
|
$(O)unixres.o: ../sys/unix/unixres.c $(CONFIG_H)
|
|
$(CC) $(cflags) -o$@ ../sys/unix/unixres.c
|
|
$(O)bemain.o: ../sys/be/bemain.c $(HACK_H) $(INCL)/dlb.h
|
|
$(CC) $(cflags) -o$@ ../sys/be/bemain.c
|
|
$(O)getline.o: ../win/tty/getline.c $(HACK_H) $(INCL)/func_tab.h
|
|
$(CC) $(cflags) -o$@ ../win/tty/getline.c
|
|
$(O)termcap.o: ../win/tty/termcap.c $(HACK_H) $(INCL)/tcap.h
|
|
$(CC) $(cflags) -o$@ ../win/tty/termcap.c
|
|
$(O)topl.o: ../win/tty/topl.c $(HACK_H) $(INCL)/tcap.h
|
|
$(CC) $(cflags) -o$@ ../win/tty/topl.c
|
|
$(O)wintty.o: ../win/tty/wintty.c $(HACK_H) $(INCL)/dlb.h \
|
|
$(INCL)/date.h $(INCL)/tcap.h
|
|
$(CC) $(cflags) -o$@ ../win/tty/wintty.c
|
|
$(O)Window.o: ../win/X11/Window.c $(INCL)/xwindowp.h $(INCL)/xwindow.h \
|
|
$(CONFIG_H)
|
|
$(CC) $(cflags) -o$@ ../win/X11/Window.c
|
|
$(O)dialogs.o: ../win/X11/dialogs.c $(CONFIG_H)
|
|
$(CC) $(cflags) -o$@ ../win/X11/dialogs.c
|
|
$(O)winX.o: ../win/X11/winX.c $(HACK_H) $(INCL)/winX.h $(INCL)/dlb.h \
|
|
../win/X11/nh72icon ../win/X11/nh56icon ../win/X11/nh32icon
|
|
$(CC) $(cflags) -o$@ ../win/X11/winX.c
|
|
$(O)winmap.o: ../win/X11/winmap.c $(INCL)/xwindow.h $(HACK_H) $(INCL)/dlb.h \
|
|
$(INCL)/winX.h $(INCL)/tile2x11.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/winmap.c
|
|
$(O)winmenu.o: ../win/X11/winmenu.c $(HACK_H) $(INCL)/winX.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/winmenu.c
|
|
$(O)winmesg.o: ../win/X11/winmesg.c $(INCL)/xwindow.h $(HACK_H) $(INCL)/winX.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/winmesg.c
|
|
$(O)winmisc.o: ../win/X11/winmisc.c $(HACK_H) $(INCL)/func_tab.h \
|
|
$(INCL)/winX.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/winmisc.c
|
|
$(O)winstat.o: ../win/X11/winstat.c $(HACK_H) $(INCL)/winX.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/winstat.c
|
|
$(O)wintext.o: ../win/X11/wintext.c $(HACK_H) $(INCL)/winX.h $(INCL)/xwindow.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/wintext.c
|
|
$(O)winval.o: ../win/X11/winval.c $(HACK_H) $(INCL)/winX.h
|
|
$(CC) $(cflags) -o$@ ../win/X11/winval.c
|
|
$(O)tile.o: tile.c $(HACK_H)
|
|
$(O)qt_win.o: ../win/Qt/qt_win.cpp $(HACK_H) $(INCL)/func_tab.h \
|
|
$(INCL)/dlb.h $(INCL)/tile2x11.h \
|
|
$(INCL)/qt_win.h $(INCL)/qt_clust.h $(INCL)/qt_kde0.h \
|
|
$(INCL)/qt_xpms.h qt_win.moc qt_kde0.moc qttableview.moc
|
|
$(CXX) $(CXXFLAGS) -o$@ ../win/Qt/qt_win.cpp
|
|
$(O)qt_clust.o: ../win/Qt/qt_clust.cpp $(INCL)/qt_clust.h
|
|
$(CXX) $(CXXFLAGS) -o$@ ../win/Qt/qt_clust.cpp
|
|
$(O)qttableview.o: ../win/Qt/qttableview.cpp $(INCL)/qttableview.h
|
|
$(CXX) $(CXXFLAGS) -o$@ ../win/Qt/qttableview.cpp
|
|
$(O)monstr.o: monstr.c $(CONFIG_H)
|
|
$(O)allmain.o: allmain.c $(HACK_H)
|
|
$(O)alloc.o: alloc.c $(CONFIG_H)
|
|
$(O)apply.o: apply.c $(HACK_H)
|
|
$(O)artifact.o: artifact.c $(HACK_H) $(INCL)/artifact.h $(INCL)/artilist.h
|
|
$(O)attrib.o: attrib.c $(HACK_H)
|
|
$(O)ball.o: ball.c $(HACK_H)
|
|
$(O)bones.o: bones.c $(HACK_H)
|
|
$(O)botl.o: botl.c $(HACK_H)
|
|
$(O)cmd.o: cmd.c $(HACK_H) $(INCL)/func_tab.h
|
|
$(O)dbridge.o: dbridge.c $(HACK_H)
|
|
$(O)decl.o: decl.c $(HACK_H)
|
|
$(O)detect.o: detect.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)dig.o: dig.c $(HACK_H)
|
|
$(O)display.o: display.c $(HACK_H)
|
|
$(O)dlb.o: dlb.c $(CONFIG_H) $(INCL)/dlb.h
|
|
$(CC) $(cflags) -I../sys/msdos -o$@ dlb.c
|
|
$(O)do.o: do.c $(HACK_H)
|
|
$(O)do_name.o: do_name.c $(HACK_H)
|
|
$(O)do_wear.o: do_wear.c $(HACK_H)
|
|
$(O)dog.o: dog.c $(HACK_H)
|
|
$(O)dogmove.o: dogmove.c $(HACK_H) $(INCL)/mfndpos.h
|
|
$(O)dokick.o: dokick.c $(HACK_H)
|
|
$(O)dothrow.o: dothrow.c $(HACK_H)
|
|
$(O)drawing.o: drawing.c $(HACK_H)
|
|
$(O)dungeon.o: dungeon.c $(HACK_H) $(INCL)/dgn_file.h $(INCL)/dlb.h
|
|
$(O)eat.o: eat.c $(HACK_H)
|
|
$(O)end.o: end.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)engrave.o: engrave.c $(HACK_H)
|
|
$(O)exper.o: exper.c $(HACK_H)
|
|
$(O)explode.o: explode.c $(HACK_H)
|
|
$(O)extralev.o: extralev.c $(HACK_H)
|
|
$(O)files.o: files.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)fountain.o: fountain.c $(HACK_H)
|
|
$(O)hack.o: hack.c $(HACK_H)
|
|
$(O)hacklib.o: hacklib.c $(HACK_H)
|
|
$(O)invent.o: invent.c $(HACK_H)
|
|
$(O)light.o: light.c $(HACK_H)
|
|
$(O)lock.o: lock.c $(HACK_H)
|
|
$(O)mail.o: mail.c $(HACK_H) $(INCL)/mail.h
|
|
$(O)makemon.o: makemon.c $(HACK_H)
|
|
$(O)mcastu.o: mcastu.c $(HACK_H)
|
|
$(O)mhitm.o: mhitm.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)mhitu.o: mhitu.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)minion.o: minion.c $(HACK_H)
|
|
$(O)mklev.o: mklev.c $(HACK_H)
|
|
$(O)mkmap.o: mkmap.c $(HACK_H) $(INCL)/sp_lev.h
|
|
$(O)mkmaze.o: mkmaze.c $(HACK_H) $(INCL)/sp_lev.h
|
|
$(O)mkobj.o: mkobj.c $(HACK_H)
|
|
$(O)mkroom.o: mkroom.c $(HACK_H)
|
|
$(O)mon.o: mon.c $(HACK_H) $(INCL)/mfndpos.h
|
|
$(O)mondata.o: mondata.c $(HACK_H)
|
|
$(O)monmove.o: monmove.c $(HACK_H) $(INCL)/mfndpos.h $(INCL)/artifact.h
|
|
$(O)monst.o: monst.c $(CONFIG_H) $(INCL)/permonst.h $(INCL)/align.h \
|
|
$(INCL)/monattk.h $(INCL)/monflag.h $(INCL)/sym.h \
|
|
$(INCL)/defsym.h $(INCL)/color.h
|
|
$(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) #interp.c
|
|
$(O)nhlua.o: nhlua.c $(HACK_H)
|
|
$(O)nhlsel.o: nhlsel.c $(HACK_H)
|
|
$(O)nhlobj.o: nhlobj.c $(HACK_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
|
|
$(O)objnam.o: objnam.c $(HACK_H)
|
|
$(O)options.o: options.c $(CONFIG_H) $(INCL)/objclass.h $(INCL)/flag.h \
|
|
$(HACK_H) $(INCL)/tcap.h
|
|
$(O)pager.o: pager.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)pickup.o: pickup.c $(HACK_H)
|
|
$(O)pline.o: pline.c $(HACK_H)
|
|
$(O)polyself.o: polyself.c $(HACK_H)
|
|
$(O)potion.o: potion.c $(HACK_H)
|
|
$(O)pray.o: pray.c $(HACK_H)
|
|
$(O)priest.o: priest.c $(HACK_H) $(INCL)/mfndpos.h
|
|
$(O)quest.o: quest.c $(HACK_H)
|
|
$(O)questpgr.o: questpgr.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)read.o: read.c $(HACK_H)
|
|
$(O)rect.o: rect.c $(HACK_H)
|
|
$(O)region.o: region.c $(HACK_H)
|
|
$(O)restore.o: restore.c $(HACK_H) $(INCL)/tcap.h
|
|
$(O)rip.o: rip.c $(HACK_H)
|
|
$(O)rnd.o: rnd.c $(HACK_H)
|
|
$(O)role.o: role.c $(HACK_H)
|
|
$(O)rumors.o: rumors.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)save.o: save.c $(HACK_H)
|
|
$(O)shk.o: shk.c $(HACK_H)
|
|
$(O)shknam.o: shknam.c $(HACK_H)
|
|
$(O)sit.o: sit.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)sounds.o: sounds.c $(HACK_H)
|
|
$(O)sp_lev.o: sp_lev.c $(HACK_H) $(INCL)/dlb.h $(INCL)/sp_lev.h
|
|
$(O)spell.o: spell.c $(HACK_H)
|
|
$(O)steal.o: steal.c $(HACK_H)
|
|
$(O)steed.o: steed.c $(HACK_H)
|
|
$(O)symbols.o: symbols.c $(HACK_H) $(INCL)/tcap.h
|
|
$(O)sys.o: sys.c $(HACK_H)
|
|
$(O)teleport.o: teleport.c $(HACK_H)
|
|
$(O)timeout.o: timeout.c $(HACK_H)
|
|
$(O)topten.o: topten.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)track.o: track.c $(HACK_H)
|
|
$(O)trap.o: trap.c $(HACK_H)
|
|
$(O)u_init.o: u_init.c $(HACK_H)
|
|
$(O)uhitm.o: uhitm.c $(HACK_H)
|
|
$(O)vault.o: vault.c $(HACK_H)
|
|
$(O)version.o: version.c $(HACK_H) $(INCL)/date.h
|
|
$(O)vision.o: vision.c $(HACK_H)
|
|
$(O)weapon.o: weapon.c $(HACK_H)
|
|
$(O)were.o: were.c $(HACK_H)
|
|
$(O)wield.o: wield.c $(HACK_H)
|
|
$(O)windows.o: windows.c $(HACK_H)
|
|
$(O)wizard.o: wizard.c $(HACK_H)
|
|
$(O)worm.o: worm.c $(HACK_H)
|
|
$(O)worn.o: worn.c $(HACK_H)
|
|
$(O)write.o: write.c $(HACK_H)
|
|
$(O)zap.o: zap.c $(HACK_H)
|
|
$(O)pmatchre.o: $(SSHR)/pmatchre.c $(HACK_H)
|
|
$(O)tileset.o: $(WSHR)/tileset.c $(HACK_H)
|
|
$(O)bmptiles.o: $(WSHR)/bmptiles.c $(INCL)/config.h $(INCL)/tileset.h $(INCL)/integer.h
|
|
$(O)giftiles.o: $(WSHR)/giftiles.c $(INCL)/config.h $(INCL)/tileset.h $(INCL)/integer.h
|
|
|
|
# end of file
|
|
|