recover had deviated somewhat from NetHack in its file expectations: 1) A couple of 3.7 fields needed to be accommodated. 2) hard-coded file size values had deviated. The file sizes are now in an added header file named "filesize.h", which is included at the bottom of config.h. There will likely be another commit to write the filename size ahead of the file name so that the precise number of characters can be read, but since that will break existing saves, it can go in along with another save-breaking commit. This commit doesn't not alter savefiles written by nethack so does not require an editlevel bump. It does alter the read-in expectation in recover to match the game and this get recover working again.
1487 lines
49 KiB
Makefile
1487 lines
49 KiB
Makefile
# NetHack 3.6 Makefile.GCC $NHDT-Date: 1519600525 2018/02/25 23:15:25 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.34 $
|
|
# Copyright (c) NetHack PC Development Team 1996-2019.
|
|
# PC NetHack 3.6 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
|
|
|
|
#---------------------------------------------------------------
|
|
# Location of LUA
|
|
#
|
|
# Original source needs to be obtained from:
|
|
# http://www.lua.org/ftp/lua-5.3.5.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/lua535
|
|
|
|
#
|
|
#==============================================================================
|
|
# 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)
|
|
|
|
#
|
|
# Yacc/Lex ... if you got 'em.
|
|
#
|
|
# If you have yacc/lex or a work-alike set YACC_LEX to Y
|
|
#
|
|
YACC_LEX = N
|
|
|
|
ifeq "$(YACC_LEX)" "Y"
|
|
DO_YACC = YACC_ACT
|
|
DO_LEX = LEX_ACT
|
|
endif
|
|
|
|
# If YACC_LEX is Y above, set the following to values appropriate for
|
|
# your tools.
|
|
#
|
|
YACC = bison -y
|
|
LEX = flex
|
|
#
|
|
# If your flex and bison port mess with the output names directly
|
|
# you must set the file names to the appropriate output file names
|
|
# here
|
|
#YTABC = y_tab.c
|
|
#YTABH = y_tab.h
|
|
#LEXYYC = lexyy.c
|
|
#
|
|
# If your flex and bison are able to produce files named
|
|
# y.tab.c, y.tab.h or lex.yy.c you might have to set these
|
|
# to the short file name equivalent (DIR /X to reveal them):
|
|
YTABC = ytab~1.c
|
|
YTABH = ytab~1.h
|
|
LEXYYC = lexyy~1.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 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
|
|
|
|
ifneq "$(ADD_LUA)" "Y"
|
|
SPLEVSRC = lev_yacc.c lev_$(LEX).c lev_main.c panic.c
|
|
endif
|
|
|
|
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)decl.o $(O)monst.o \
|
|
$(O)objects.o $(O)stubvid.o
|
|
|
|
TEXTIO2 = $(O)tiletex2.o $(O)tiletxt2.o $(O)drawing.o $(O)decl.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)display.o $(O)do.o $(O)do_name.o
|
|
VOBJ04 = $(O)do_wear.o $(O)dog.o $(O)dogmove.o $(O)dokick.o $(O)dothrow.o
|
|
VOBJ05 = $(O)drawing.o $(O)dungeon.o $(O)eat.o $(O)end.o $(O)engrave.o
|
|
VOBJ06 = $(O)exper.o $(O)explode.o $(O)extralev.o $(O)files.o $(O)fountain.o
|
|
VOBJ07 = $(O)getline.o $(O)hack.o $(O)hacklib.o $(O)invent.o $(O)lock.o
|
|
VOBJ08 = $(O)mail.o $(O)main.o $(O)makemon.o $(O)mapglyph.o $(O)mcastu.o $(O)mhitm.o
|
|
VOBJ09 = $(O)mhitu.o $(O)minion.o $(O)mkmap.o $(O)mklev.o $(O)mkmaze.o
|
|
VOBJ10 = $(O)mkobj.o $(O)mkroom.o $(O)mon.o $(O)mondata.o $(O)monmove.o
|
|
VOBJ11 = $(O)monst.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o
|
|
VOBJ12 = $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o $(O)options.o
|
|
VOBJ13 = $(O)pickup.o $(O)pline.o $(O)polyself.o $(O)potion.o $(O)quest.o
|
|
VOBJ14 = $(O)questpgr.o $(O)pager.o $(O)pray.o $(O)priest.o $(O)read.o
|
|
VOBJ15 = $(O)rect.o $(O)restore.o $(O)rip.o $(O)rnd.o $(O)role.o
|
|
VOBJ16 = $(O)rumors.o $(O)save.o $(O)shk.o $(O)shknam.o $(O)sit.o
|
|
VOBJ17 = $(O)sounds.o $(O)sp_lev.o $(O)spell.o $(O)steal.o $(O)steed.o
|
|
VOBJ18 = $(O)termcap.o $(O)timeout.o $(O)topl.o $(O)topten.o $(O)track.o
|
|
VOBJ19 = $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)vault.o $(O)vision.o
|
|
VOBJ20 = $(O)vis_tab.o $(O)weapon.o $(O)were.o $(O)wield.o $(O)windows.o
|
|
VOBJ21 = $(O)wintty.o $(O)wizard.o $(O)worm.o $(O)worn.o $(O)write.o
|
|
VOBJ22 = $(O)zap.o $(O)light.o $(O)dlb.o $(O)dig.o $(O)teleport.o
|
|
VOBJ23 = $(O)region.o $(O)sys.o $(REGEX) $(O)isaac64.o
|
|
VOBJ24 = $(O)sfstruct.o
|
|
|
|
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
|
|
|
|
ifeq "$(ADD_LUA)" "Y"
|
|
LUAOBJ = $(O)nhlua.o $(O)nhlsel.o $(O)nhlobj.o
|
|
LUA_QTEXT_FILE = "quest.lua"
|
|
endif
|
|
|
|
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)
|
|
|
|
ifeq "$(ADD_LUA)" "Y"
|
|
#===============-=================================================
|
|
# LUA library
|
|
# Source from http://www.lua.org/ftp/lua-5.3.5.tar.gz
|
|
#=================================================================
|
|
|
|
LUASRC = $(LUATOP)/src
|
|
LUALIB = $(O)lua535s.a
|
|
LUADLL = $(O)lua535.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)
|
|
endif
|
|
|
|
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)/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 \
|
|
$(MSYS)/pcvideo.h
|
|
CONFIG_H = $(GLOBAL_H) $(INCL)/filesize.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) $(INCL)/context.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) \
|
|
$(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$@ $<
|
|
|
|
ifeq "$(ADD_LUA)" "Y"
|
|
#==========================================
|
|
# Rules for LUA files
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(LUASRC)/%.c
|
|
$(CC) $(cflags) -o$@ $<
|
|
endif
|
|
|
|
#==========================================
|
|
# Primary Targets.
|
|
#==========================================
|
|
|
|
# The default target.
|
|
|
|
all : install
|
|
|
|
install: $(GAMEFILE) $(O)install.tag
|
|
@echo Done.
|
|
|
|
default: $(GAMEFILE)
|
|
|
|
util: $(O)utility.tag
|
|
|
|
ifneq "$(ADD_LUA)" "Y"
|
|
LEVCOMPEXE = $(U)lev_comp.exe
|
|
else
|
|
LEVCOMPEXE =
|
|
endif
|
|
$(O)utility.tag: $(INCL)/date.h $(INCL)/trap.h $(INCL)/onames.h \
|
|
$(INCL)/pm.h vis_tab.c $(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))
|
|
ifeq "$(ADD_LUA)" "Y"
|
|
@$(subst /,\,copy $(DAT)/*.lua $(GAMEDIR))
|
|
else
|
|
@$(subst /,\,copy $(DAT)/*.lev $(GAMEDIR))
|
|
endif
|
|
@$(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/winnt/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)
|
|
ifeq "$(ADD_LUA)" "Y"
|
|
@ar ruS temp.a $(LUAOBJ)
|
|
endif
|
|
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)
|
|
|
|
$(INCL)/vis_tab.h: $(U)makedefs.exe
|
|
-$(subst /,\,$(U)makedefs -z)
|
|
|
|
vis_tab.c: $(U)makedefs.exe
|
|
-$(subst /,\,$(U)makedefs -z)
|
|
|
|
#==========================================
|
|
# Makedefs Stuff
|
|
#==========================================
|
|
|
|
$(U)makedefs.exe: $(MAKEDEFSOBJS)
|
|
$(LINK) $(LFLAGS) -o$@ $(MAKEDEFSOBJS)
|
|
|
|
$(O)makedefs.o: $(CONFIG_H) $(PERMONST_H) $(INCL)/objclass.h \
|
|
$(INCL)/monsym.h $(U)makedefs.c
|
|
|
|
ifneq "$(ADD_LUA)" "Y"
|
|
#==========================================
|
|
# Level Compiler Dependencies
|
|
#==========================================
|
|
|
|
$(U)lev_comp.exe: $(SPLEVOBJS)
|
|
-rm -f temp.a
|
|
@ar ru temp.a $(SPLEVOBJS)
|
|
$(LINK) $(LFLAGS) -o$@ temp.a
|
|
|
|
ifeq ($(YACC_LEX),Y)
|
|
|
|
$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(U)lev_yacc.c
|
|
$(CC) $(cflags) -o$@ $(U)lev_yacc.c
|
|
|
|
else
|
|
|
|
$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)/lev_comp.h $(U)lev_yacc.c
|
|
$(CC) $(cflags) -o$@ $(U)lev_yacc.c
|
|
|
|
endif
|
|
|
|
$(O)lev_$(LEX).o: $(HACK_H) $(SP_LEV_H) $(INCL)/lev_comp.h \
|
|
$(U)lev_$(LEX).c
|
|
$(CC) $(cflags) -o$@ $(U)lev_$(LEX).c
|
|
|
|
$(O)lev_main.o: $(HACK_H) $(INCL)/sp_lev.h $(INCL)/date.h $(U)lev_main.c
|
|
|
|
ifeq "$(DO_YACC)" "YACC_ACT"
|
|
|
|
$(INCL)/lev_comp.h: $(U)lev_yacc.c
|
|
|
|
$(U)lev_yacc.c $(INCL)/lev_comp.h : $(U)lev_comp.y
|
|
@$(subst /,\,chdir $(UTIL))
|
|
@$(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)
|
|
|
|
$(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)
|
|
|
|
endif
|
|
|
|
$(U)lev_$(LEX).c: $(U)lev_comp.l
|
|
ifeq "$(DO_LEX)" "LEX_ACT"
|
|
@$(subst /,\,chdir $(UTIL))
|
|
@$(subst /,\,$(LEX) $(FLEXSKEL) lev_comp.l)
|
|
@$(subst /,\,if exist $@ del $@)
|
|
@$(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.>>$@)
|
|
endif
|
|
endif
|
|
|
|
#==========================================
|
|
# 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
|
|
|
|
|
|
#==========================================
|
|
# 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
|
|
|
|
endif
|
|
|
|
#==========================================
|
|
# 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)/monsym.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)
|
|
|
|
ifndef LUA_QTEXT_FILE
|
|
$(DAT)/quest.dat: $(O)utility.tag $(DAT)/quest.txt
|
|
@$(subst /,\,$(U)makedefs.exe -q)
|
|
endif
|
|
|
|
$(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
|
|
#
|
|
ifndef LUA_QTEXT_FILE
|
|
QUEST_DAT = $(DAT)/quest.dat
|
|
else
|
|
QUEST_DAT =
|
|
endif
|
|
$(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
|
|
ifndef LUA_QTEXT_FILE
|
|
@$(LS) quest.dat >>dlb.lst
|
|
endif
|
|
@$(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)/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 $(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)/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)
|
|
|
|
#=============================================================
|
|
# LUA
|
|
#=============================================================
|
|
|
|
lua.exe: $(O)lua.o $(LUALIB)
|
|
$(link) $(LFLAGS) -o$@ $(O)lua.o $(LUALIB)
|
|
|
|
luac.exe: $(O)luac.o $(O)lua535s.a
|
|
$(link) $(LFLAGSU) -o$@ $(O)luac.o $(LUALIB)
|
|
|
|
$(O)lua535.a: $(LUAOBJFILES)
|
|
$(cc) -shared -Wl,--export-all-symbols \
|
|
-Wl,--add-stdcall-alias -o $@ $<
|
|
|
|
$(O)lua535s.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)/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 $(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)/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 the PATCHLEV_H macro is substitued for $(INCL)/patchlevel.h
|
|
# to work around a long filename issue.
|
|
# 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 $(PATCHLEV_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 \
|
|
$(PATCHLEV_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)gnaskstr.o: ../win/gnome/gnaskstr.c ../win/gnome/gnaskstr.h \
|
|
../win/gnome/gnmain.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnaskstr.c
|
|
$(O)gnbind.o: ../win/gnome/gnbind.c ../win/gnome/gnbind.h ../win/gnome/gnmain.h \
|
|
../win/gnome/gnaskstr.h ../win/gnome/gnyesno.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnbind.c
|
|
$(O)gnglyph.o: ../win/gnome/gnglyph.c ../win/gnome/gnglyph.h $(INCL)/tile2x11.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnglyph.c
|
|
$(O)gnmain.o: ../win/gnome/gnmain.c ../win/gnome/gnmain.h ../win/gnome/gnsignal.h \
|
|
../win/gnome/gnbind.h ../win/gnome/gnopts.h $(HACK_H) \
|
|
$(INCL)/date.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnmain.c
|
|
$(O)gnmap.o: ../win/gnome/gnmap.c ../win/gnome/gnmap.h ../win/gnome/gnglyph.h \
|
|
../win/gnome/gnsignal.h $(HACK_H)
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnmap.c
|
|
$(O)gnmenu.o: ../win/gnome/gnmenu.c ../win/gnome/gnmenu.h ../win/gnome/gnmain.h \
|
|
../win/gnome/gnbind.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnmenu.c
|
|
$(O)gnmesg.o: ../win/gnome/gnmesg.c ../win/gnome/gnmesg.h ../win/gnome/gnsignal.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnmesg.c
|
|
$(O)gnopts.o: ../win/gnome/gnopts.c ../win/gnome/gnopts.h ../win/gnome/gnglyph.h \
|
|
../win/gnome/gnmain.h ../win/gnome/gnmap.h $(HACK_H)
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnopts.c
|
|
$(O)gnplayer.o: ../win/gnome/gnplayer.c ../win/gnome/gnplayer.h \
|
|
../win/gnome/gnmain.h $(HACK_H)
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnplayer.c
|
|
$(O)gnsignal.o: ../win/gnome/gnsignal.c ../win/gnome/gnsignal.h \
|
|
../win/gnome/gnmain.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnsignal.c
|
|
$(O)gnstatus.o: ../win/gnome/gnstatus.c ../win/gnome/gnstatus.h \
|
|
../win/gnome/gnsignal.h ../win/gnome/gn_xpms.h \
|
|
../win/gnome/gnomeprv.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnstatus.c
|
|
$(O)gntext.o: ../win/gnome/gntext.c ../win/gnome/gntext.h ../win/gnome/gnmain.h \
|
|
../win/gnome/gn_rip.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gntext.c
|
|
$(O)gnworn.o: ../win/gnome/gnworn.c ../win/gnome/gnworn.h ../win/gnome/gnglyph.h \
|
|
../win/gnome/gnsignal.h ../win/gnome/gnomeprv.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnworn.c
|
|
$(O)gnyesno.o: ../win/gnome/gnyesno.c ../win/gnome/gnbind.h ../win/gnome/gnyesno.h
|
|
$(CC) $(cflags) $(GNOMEINC) -o$@ ../win/gnome/gnyesno.c
|
|
$(O)wingem.o: ../win/gem/wingem.c $(HACK_H) $(INCL)/func_tab.h $(INCL)/dlb.h \
|
|
$(PATCHLEV_H) $(INCL)/wingem.h
|
|
$(CC) $(cflags) -o$@ ../win/gem/wingem.c
|
|
$(O)wingem1.o: ../win/gem/wingem1.c $(INCL)/gem_rsc.h $(INCL)/load_img.h \
|
|
$(INCL)/gr_rect.h $(INCL)/wintype.h $(INCL)/wingem.h
|
|
$(CC) $(cflags) -o$@ ../win/gem/wingem1.c
|
|
$(O)load_img.o: ../win/gem/load_img.c $(INCL)/load_img.h
|
|
$(CC) $(cflags) -o$@ ../win/gem/load_img.c
|
|
$(O)gr_rect.o: ../win/gem/gr_rect.c $(INCL)/gr_rect.h
|
|
$(CC) $(cflags) -o$@ ../win/gem/gr_rect.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 $(PATCHLEV_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)vis_tab.o: vis_tab.c $(CONFIG_H) $(INCL)/vis_tab.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) $(INCL)/tcap.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)mapglyph.o: mapglyph.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)/monsym.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)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 $(PATCHLEV_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 $(PATCHLEV_H)
|
|
$(O)vision.o: vision.c $(HACK_H) $(INCL)/vis_tab.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) $(INCL)/wingem.h $(INCL)/winGnome.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
|
|
|