New code in nttty.c had a dependency on gdi32.lib. Previously that was only being linked in for the gui build when using the Makefile. Move the reference into the base libraries if both tty and gui depend on it now.
1574 lines
52 KiB
Makefile
1574 lines
52 KiB
Makefile
# NetHack 3.6 Makefile.msc $NHDT-Date: 1451610993 2016/01/01 01:16:33 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.101 $ */
|
|
# Copyright (c) NetHack PC Development Team 1993-2015
|
|
#
|
|
#==============================================================================
|
|
# Build Tools Environment
|
|
#
|
|
# NetHack 3.6.x Makefile for MS Visual Studio Visual C++ compiler
|
|
#
|
|
# Visual Studio Compilers Tested:
|
|
# - Microsoft Visual Studio 2010 Express, with the Platform SDK
|
|
# - Microsoft Visual Studio 2013 Express
|
|
# - Microsoft Visual Studio 2015 Express (pre-release)
|
|
#
|
|
#==============================================================================
|
|
# This is used for building two versions of NetHack:
|
|
#
|
|
# A tty port utilizing the Win32 Console I/O subsystem, Console
|
|
# NetHack.exe
|
|
#
|
|
# A Win32 native port built on the Windows API, Graphical NetHack or
|
|
# NetHackW.exe
|
|
#
|
|
# In addition to your C compiler,
|
|
#
|
|
# if you want to change you will need a
|
|
# files with suffix workalike for
|
|
# .y yacc (such as bison)
|
|
# .l lex (such as flex)
|
|
#
|
|
# If you have any questions read the sys/winnt/Install.nt file included
|
|
# with the distribution.
|
|
#==============================================================================
|
|
# Before we get started, this section is used to determine the version of
|
|
# Visual Studio we are using. We set VSVER to 0000 to flag any version that
|
|
# is too old or untested.
|
|
#
|
|
|
|
!IF "$(_NMAKE_VER)" == "14.00.22310.1"
|
|
VSVER=2015
|
|
!ELSEIF "$(_NMAKE_VER)" == "12.00.21005.1"
|
|
VSVER=2013
|
|
!ELSEIF "$(_NMAKE_VER)" == "11.00.50727.1"
|
|
VSVER=2012
|
|
!ELSEIF "$(_NMAKE_VER)" == "10.00.40219.01"
|
|
VSVER=2010
|
|
!ELSE
|
|
VSVER=0000 #untested version
|
|
!ENDIF
|
|
|
|
#==============================================================================
|
|
# BUILD DECISIONS SECTION
|
|
#
|
|
# There are currently only 3 decisions that you have to make.
|
|
# 1. 32-bit or 64-bit?
|
|
# 2. Where do you want your build to end up?
|
|
# 3. Do you want debug information in the executable?
|
|
#
|
|
#---------------------------------------------------------------
|
|
#==============================================================================
|
|
# 1. 32-bit or 64-bit? (comment/uncomment appropriate TARGET_CPU line)
|
|
#
|
|
|
|
!IF ($(VSVER) >= 2012)
|
|
#
|
|
# 64 bit
|
|
#TARGET_CPU=x64
|
|
#
|
|
# 32 bit
|
|
TARGET_CPU=x86
|
|
|
|
!ELSE
|
|
# For VS2010 use "setenv /x86" or "setenv /x64" before invoking make process
|
|
# DO NOT DELETE THE FOLLOWING LINE
|
|
!include <win32.mak>
|
|
!ENDIF
|
|
#
|
|
#---------------------------------------------------------------
|
|
# 2. Where do you want the game to be built (which folder)?
|
|
#
|
|
|
|
GAMEDIR = ..\binary # Game directory
|
|
|
|
#
|
|
#---------------------------------------------------------------
|
|
# 3. Do you want debug information in the executable?
|
|
#
|
|
|
|
DEBUGINFO = Y
|
|
|
|
#==============================================================================
|
|
# This marks the end of the BUILD DECISIONS section.
|
|
#==============================================================================
|
|
#
|
|
#===============================================
|
|
#======= End of Modification Section ===========
|
|
#===============================================
|
|
#
|
|
################################################
|
|
# #
|
|
# Nothing below here should have to be changed.#
|
|
# #
|
|
################################################
|
|
|
|
#
|
|
#==============================================================================
|
|
|
|
# Set the gamedir according to your preference.
|
|
# If not present prior to compilation it gets created.
|
|
|
|
#
|
|
# Source directories. Makedefs hardcodes these, don't change them.
|
|
#
|
|
|
|
INCL = ..\include # NetHack include files
|
|
DAT = ..\dat # NetHack data files
|
|
DOC = ..\doc # NetHack documentation files
|
|
UTIL = ..\util # Utility source
|
|
SRC = ..\src # Main source
|
|
SSYS = ..\sys\share # Shared system files
|
|
MSWSYS= ..\sys\winnt # mswin specific files
|
|
TTY = ..\win\tty # window port files (tty)
|
|
MSWIN = ..\win\win32 # window port files (WIN32)
|
|
WSHR = ..\win\share # Tile support files
|
|
|
|
#
|
|
# Object directory.
|
|
#
|
|
|
|
OBJ = o
|
|
|
|
cc=cl
|
|
link=link
|
|
rc=Rc
|
|
|
|
#
|
|
#==========================================
|
|
# Exe File Info.
|
|
#==========================================
|
|
|
|
#
|
|
#
|
|
# Optional high-quality BSD random number generation routines
|
|
# (see pcconf.h). Set to nothing if not used.
|
|
#
|
|
|
|
RANDOM = $(OBJ)\random.o
|
|
#RANDOM =
|
|
|
|
WINPFLAG= -DTILES -DMSWIN_GRAPHICS -DWIN32CON
|
|
|
|
# To store all the level files,
|
|
# help files, etc. in a single library file.
|
|
# USE_DLB = Y is left uncommented
|
|
|
|
USE_DLB = Y
|
|
|
|
! IF ("$(USE_DLB)"=="Y")
|
|
DLBFLG = -DDLB
|
|
! ELSE
|
|
DLBFLG =
|
|
! ENDIF
|
|
|
|
#
|
|
# If you defined ZLIB_COMP in include/config.h and you need
|
|
# to link with the zlib.lib library, uncomment the line below.
|
|
# If necessary, prefix explicit path information to the file name
|
|
# otherwise it assumes the NetHack src directory.
|
|
#
|
|
|
|
#ZLIB = zlib.lib
|
|
|
|
#==========================================
|
|
#==========================================
|
|
# Setting up the compiler and linker
|
|
#==========================================
|
|
#==========================================
|
|
|
|
!IF "$(TARGET_CPU)" == ""
|
|
TARGET_CPU=x86
|
|
!ENDIF
|
|
|
|
!IF "$(_NMAKE_VER)" == "10.00.40219.01"
|
|
CL2013=
|
|
!ELSE
|
|
! IF ($(VSVER) > 2010)
|
|
CL2013=-sdl
|
|
! ENDIF
|
|
!ENDIF
|
|
|
|
ccommon= -c -nologo -D"_CONSOLE" -D"_CRT_NONSTDC_NO_DEPRECATE" -D"_CRT_SECURE_NO_DEPRECATE" \
|
|
-D"_LIB" -D"_SCL_SECURE_NO_DEPRECATE" -D"_VC80_UPGRADE=0x0600" -D"DLB" -D"_MBCS" \
|
|
-DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -D"NDEBUG" -D"YY_NO_UNISTD_H" -EHsc -fp:precise -Gd -GF -GS -Gy \
|
|
$(CL2013) -WX- -Zc:forScope -Zc:wchar_t -Zi
|
|
cdebug= -analyze- -D"_DEBUG" -Gm -MTd -RTC1 -Od
|
|
crelease= -analyze- -D"_MBCS" -errorReport:prompt -Gm- -MT -O2 -Ot -Ox -Oy
|
|
|
|
lcommon= /NOLOGO /INCREMENTAL:NO
|
|
|
|
!IF "$(DEBUGINFO)" == "Y"
|
|
ldebug = /DEBUG
|
|
cflags1=$(ccommon) $(cdebug)
|
|
lflags1=$(lcommon) $(ldebug)
|
|
!ELSE
|
|
ldebug= /DEBUG
|
|
cflags1=$(ccommon) $(crelease)
|
|
lflags1=$(lcommon) $(ldebug)
|
|
!ENDIF
|
|
|
|
lflags= $(lflags1)
|
|
|
|
!IF "$(TARGET_CPU)" == "x86"
|
|
cflags = $(cflags1) -D_X86_=1 -DWIN32 -D_WIN32 -W3
|
|
scall = -Gz
|
|
|
|
!ELSEIF "$(TARGET_CPU)" == "x64"
|
|
cflags = $(cflags1) -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4
|
|
scall =
|
|
!ENDIF
|
|
|
|
!IF ($(VSVER) >= 2012)
|
|
cflags = $(cflags:-W4=-W3)
|
|
!ENDIF
|
|
|
|
#More verbose warning output options below
|
|
#cflags = $(cflags:-W4=-wd4131
|
|
#cflags = $(cflags:-W4=-Wall)
|
|
#cflags = $(cflags:-W3=-wd4131
|
|
#cflags = $(cflags:-W3=-Wall)
|
|
|
|
# declarations for use on Intel x86 systems
|
|
!IF "$(TARGET_CPU)" == "x86"
|
|
DLLENTRY = @12
|
|
EXEVER=5.01
|
|
MACHINE=/MACHINE:X86
|
|
!ENDIF
|
|
|
|
# declarations for use on AMD64 systems
|
|
!IF "$(TARGET_CPU)" == "x64"
|
|
DLLENTRY =
|
|
EXEVER=5.02
|
|
MACHINE=/MACHINE:X64
|
|
!ENDIF
|
|
|
|
# for Windows applications
|
|
conlflags = $(lflags) -subsystem:console,$(EXEVER)
|
|
guilflags = $(lflags) -subsystem:windows,$(EXEVER)
|
|
dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
|
|
|
|
# basic subsystem specific libraries, less the C Run-Time
|
|
baselibs = kernel32.lib $(optlibs) $(winsocklibs) advapi32.lib gdi32.lib
|
|
winlibs = $(baselibs) user32.lib comdlg32.lib winspool.lib
|
|
|
|
# for Windows applications that use the C Run-Time libraries
|
|
conlibs = $(baselibs)
|
|
guilibs = $(winlibs)
|
|
#
|
|
|
|
INCLDIR= /I..\include
|
|
|
|
#==========================================
|
|
# Util builds
|
|
#==========================================
|
|
|
|
cflagsBuild = $(cflags) $(INCLDIR) $(WINPFLAG) $(DLBFLG)
|
|
lflagsBuild = $(lflags) $(conlibs) $(MACHINE)
|
|
|
|
#==========================================
|
|
# - Game build
|
|
#==========================================
|
|
|
|
LIBS= user32.lib winmm.lib $(ZLIB)
|
|
|
|
! IF ("$(USE_DLB)"=="Y")
|
|
DLB = nhdat
|
|
! ELSE
|
|
DLB =
|
|
! ENDIF
|
|
|
|
#==========================================
|
|
#================ MACROS ==================
|
|
#==========================================
|
|
# This section creates shorthand macros for many objects
|
|
# referenced later on in the Makefile.
|
|
#
|
|
#
|
|
# Shorten up the location for some files
|
|
#
|
|
|
|
O = $(OBJ)^\
|
|
|
|
U = $(UTIL)^\
|
|
|
|
#
|
|
# Utility Objects.
|
|
#
|
|
|
|
MAKESRC = $(U)makedefs.c
|
|
|
|
MAKEOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.o
|
|
|
|
LEVCOMPOBJS = $(O)lev_yacc.o $(O)lev_lex.o $(O)lev_main.o \
|
|
$(O)alloc.o $(O)decl.o $(O)drawing.o $(O)monst.o $(O)objects.o $(O)panic.o
|
|
|
|
DGNCOMPOBJS = $(O)dgn_yacc.o $(O)dgn_lex.o $(O)dgn_main.o \
|
|
$(O)alloc.o $(O)panic.o
|
|
|
|
RECOVOBJS = $(O)recover.o
|
|
|
|
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
|
|
|
#
|
|
# These are not invoked during a normal game build in 3.4
|
|
#
|
|
TEXT_IO = $(O)tiletext.o $(O)tiletxt.o $(O)drawing.o \
|
|
$(O)decl.o $(O)monst.o $(O)objects.o
|
|
|
|
TEXT_IO32 = $(O)tilete32.o $(O)tiletx32.o $(O)drawing.o \
|
|
$(O)decl.o $(O)monst.o $(O)objects.o
|
|
|
|
GIFREADERS = $(O)gifread.o $(O)alloc.o $(O)panic.o
|
|
GIFREADERS32 = $(O)gifrd32.o $(O)alloc.o $(O)panic.o
|
|
|
|
PPMWRITERS = $(O)ppmwrite.o $(O)alloc.o $(O)panic.o
|
|
|
|
#
|
|
# Object files for the game itself.
|
|
#
|
|
|
|
VOBJ01 = $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o
|
|
VOBJ02 = $(O)attrib.o $(O)ball.o $(O)bones.o $(O)botl.o
|
|
VOBJ03 = $(O)cmd.o $(O)dbridge.o $(O)decl.o $(O)detect.o
|
|
VOBJ04 = $(O)dig.o $(O)display.o $(O)do.o $(O)do_name.o
|
|
VOBJ05 = $(O)do_wear.o $(O)dog.o $(O)dogmove.o $(O)dokick.o
|
|
VOBJ06 = $(O)dothrow.o $(O)drawing.o $(O)dungeon.o $(O)eat.o
|
|
VOBJ07 = $(O)end.o $(O)engrave.o $(O)exper.o $(O)explode.o
|
|
VOBJ08 = $(O)extralev.o $(O)files.o $(O)fountain.o $(O)hack.o
|
|
VOBJ09 = $(O)hacklib.o $(O)invent.o $(O)light.o $(O)lock.o
|
|
VOBJ10 = $(O)mail.o $(O)pcmain.o $(O)makemon.o $(O)mapglyph.o $(O)mcastu.o
|
|
VOBJ11 = $(O)mhitm.o $(O)mhitu.o $(O)minion.o $(O)mklev.o
|
|
VOBJ12 = $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o $(O)mkroom.o
|
|
VOBJ13 = $(O)mon.o $(O)mondata.o $(O)monmove.o $(O)monst.o
|
|
VOBJ14 = $(O)monstr.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o
|
|
VOBJ15 = $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o
|
|
VOBJ16 = $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o
|
|
VOBJ17 = $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o
|
|
VOBJ18 = $(O)quest.o $(O)questpgr.o $(RANDOM) $(O)read.o
|
|
VOBJ19 = $(O)rect.o $(O)region.o $(O)restore.o $(O)rip.o
|
|
VOBJ20 = $(O)rnd.o $(O)role.o $(O)rumors.o $(O)save.o
|
|
VOBJ21 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o
|
|
VOBJ22 = $(O)sp_lev.o $(O)spell.o $(O)steal.o $(O)steed.o
|
|
VOBJ23 = $(O)sys.o $(O)teleport.o $(O)timeout.o $(O)topten.o
|
|
VOBJ24 = $(O)track.o $(O)trap.o $(O)u_init.o $(O)uhitm.o
|
|
VOBJ25 = $(O)vault.o $(O)vis_tab.o $(O)vision.o $(O)weapon.o
|
|
VOBJ26 = $(O)were.o $(O)wield.o $(O)windows.o $(O)wizard.o
|
|
VOBJ27 = $(O)worm.o $(O)worn.o $(O)write.o $(O)zap.o
|
|
|
|
DLBOBJ = $(O)dlb.o
|
|
|
|
REGEX = $(O)cppregex.o
|
|
|
|
TTYOBJ = $(O)topl.o $(O)getline.o $(O)wintty.o
|
|
|
|
SOBJ = $(O)winnt.o $(O)pcsys.o $(O)pcunix.o \
|
|
$(SOUND) $(O)nhlan.o
|
|
|
|
OBJS = $(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) \
|
|
$(VOBJ26) $(VOBJ27) $(VOBJ28) $(VOBJ29) $(REGEX)
|
|
|
|
GUIOBJ = $(O)mhaskyn.o $(O)mhdlg.o \
|
|
$(O)mhfont.o $(O)mhinput.o $(O)mhmain.o $(O)mhmap.o \
|
|
$(O)mhmenu.o $(O)mhmsgwnd.o $(O)mhrip.o $(O)mhsplash.o \
|
|
$(O)mhstatus.o $(O)mhtext.o $(O)mswproc.o $(O)winhack.o
|
|
|
|
GUIHDR = $(MSWIN)\mhaskyn.h $(MSWIN)\mhdlg.h $(MSWIN)\mhfont.h \
|
|
$(MSWIN)\mhinput.h $(MSWIN)\mhmain.h $(MSWIN)\mhmap.h $(MSWIN)\mhmenu.h \
|
|
$(MSWIN)\mhmsg.h $(MSWIN)\mhmsgwnd.h $(MSWIN)\mhrip.h $(MSWIN)\mhstatus.h \
|
|
$(MSWIN)\mhtext.h $(MSWIN)\resource.h $(MSWIN)\winMS.h
|
|
|
|
COMCTRL = comctl32.lib
|
|
|
|
KEYDLLS = $(GAMEDIR)\nhdefkey.dll $(GAMEDIR)\nh340key.dll $(GAMEDIR)\nhraykey.dll
|
|
|
|
TILEUTIL16 = $(UTIL)\tile2bmp.exe
|
|
TILEBMP16 = $(SRC)\tiles.bmp
|
|
|
|
TILEUTIL32 = $(UTIL)\til2bm32.exe
|
|
TILEBMP32 = $(SRC)\tiles32.bmp
|
|
|
|
SOUND = $(OBJ)\ntsound.o
|
|
|
|
VVOBJ = $(O)version.o
|
|
|
|
ALLOBJ = $(SOBJ) $(DLBOBJ) $(WOBJ) $(OBJS) $(VVOBJ)
|
|
|
|
OPTIONS_FILE = $(DAT)\options
|
|
|
|
#==========================================
|
|
# Header file macros
|
|
#==========================================
|
|
|
|
CONFIG_H = $(INCL)\config.h $(INCL)\config1.h $(INCL)\tradstdc.h \
|
|
$(INCL)\global.h $(INCL)\coord.h $(INCL)\vmsconf.h \
|
|
$(INCL)\system.h $(INCL)\unixconf.h $(INCL)\os2conf.h \
|
|
$(INCL)\micro.h $(INCL)\pcconf.h $(INCL)\tosconf.h \
|
|
$(INCL)\amiconf.h $(INCL)\macconf.h $(INCL)\beconf.h \
|
|
$(INCL)\ntconf.h
|
|
|
|
HACK_H = $(INCL)\hack.h $(CONFIG_H) $(INCL)\align.h $(INCL)\context.h \
|
|
$(INCL)\dungeon.h $(INCL)\monsym.h $(INCL)\mkroom.h \
|
|
$(INCL)\objclass.h $(INCL)\youprop.h $(INCL)\prop.h \
|
|
$(INCL)\permonst.h $(INCL)\monattk.h \
|
|
$(INCL)\monflag.h $(INCL)\mondata.h $(INCL)\pm.h \
|
|
$(INCL)\wintype.h $(INCL)\decl.h $(INCL)\quest.h \
|
|
$(INCL)\spell.h $(INCL)\color.h $(INCL)\obj.h \
|
|
$(INCL)\you.h $(INCL)\attrib.h $(INCL)\monst.h $(INCL)\lint.h \
|
|
$(INCL)\mextra.h $(INCL)\skills.h $(INCL)\onames.h \
|
|
$(INCL)\timeout.h $(INCL)\trap.h $(INCL)\flag.h $(INCL)\rm.h \
|
|
$(INCL)\vision.h $(INCL)\display.h $(INCL)\engrave.h \
|
|
$(INCL)\rect.h $(INCL)\region.h $(INCL)\winprocs.h $(INCL)\botl.h \
|
|
$(INCL)\wintty.h $(INCL)\sys.h $(INCL)\trampoli.h
|
|
|
|
LEV_H = $(INCL)\lev.h
|
|
DGN_FILE_H = $(INCL)\dgn_file.h
|
|
LEV_COMP_H = $(INCL)\lev_comp.h
|
|
SP_LEV_H = $(INCL)\sp_lev.h
|
|
TILE_H = ..\win\share\tile.h
|
|
|
|
#==========================================
|
|
# Miscellaneous
|
|
#==========================================
|
|
|
|
DATABASE = $(DAT)\data.base
|
|
|
|
#==========================================
|
|
#================ RULES ==================
|
|
#==========================================
|
|
|
|
.SUFFIXES: .exe .o .til .uu .c .y .l
|
|
|
|
#==========================================
|
|
# Rules for files in src
|
|
#==========================================
|
|
|
|
.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
{$(SRC)}.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in sys\share
|
|
#==========================================
|
|
|
|
{$(SSYS)}.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
{$(SSYS)}.cpp{$(OBJ)}.o:
|
|
@$(CC) $(cflagsBuild) /EHsc -Fo$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in sys\winnt
|
|
#==========================================
|
|
|
|
{$(MSWSYS)}.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
{$(MSWSYS)}.h{$(INCL)}.h:
|
|
@copy $< $@
|
|
|
|
#==========================================
|
|
# Rules for files in util
|
|
#==========================================
|
|
|
|
{$(UTIL)}.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in win\share
|
|
#==========================================
|
|
|
|
{$(WSHR)}.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
{$(WSHR)}.h{$(INCL)}.h:
|
|
@copy $< $@
|
|
|
|
#{$(WSHR)}.txt{$(DAT)}.txt:
|
|
# @copy $< $@
|
|
|
|
#==========================================
|
|
# Rules for files in win\tty
|
|
#==========================================
|
|
|
|
{$(TTY)}.c{$(OBJ)}.o:
|
|
$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
|
|
#==========================================
|
|
# Rules for files in win\win32
|
|
#==========================================
|
|
|
|
{$(MSWIN)}.c{$(OBJ)}.o:
|
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
|
|
|
#==========================================
|
|
#=============== TARGETS ==================
|
|
#==========================================
|
|
|
|
#
|
|
# The default make target (so just typing 'nmake' is useful).
|
|
#
|
|
default : install
|
|
|
|
#
|
|
# The game target.
|
|
#
|
|
|
|
#
|
|
# Everything
|
|
#
|
|
|
|
all : install
|
|
|
|
install: envchk $(O)obj.tag $(O)utility.tag $(GAMEDIR)\NetHack.exe $(GAMEDIR)\NetHackW.exe $(O)install.tag
|
|
@echo Done.
|
|
|
|
$(O)install.tag: $(DAT)\data $(DAT)\rumors $(DAT)\dungeon \
|
|
$(DAT)\oracles $(DAT)\quest.dat $(O)sp_lev.tag $(DLB)
|
|
! IF ("$(USE_DLB)"=="Y")
|
|
copy nhdat $(GAMEDIR)
|
|
copy $(DAT)\license $(GAMEDIR)
|
|
copy $(DAT)\opthelp $(GAMEDIR)
|
|
! ELSE
|
|
copy $(DAT)\*. $(GAMEDIR)
|
|
copy $(DAT)\*.dat $(GAMEDIR)
|
|
copy $(DAT)\*.lev $(GAMEDIR)
|
|
if exist $(GAMEDIR)\makefile del $(GAMEDIR)\makefile
|
|
! ENDIF
|
|
if not exist $(GAMEDIR)\sysconf copy $(MSWSYS)\sysconf $(GAMEDIR)
|
|
if exist $(DAT)\symbols copy $(DAT)\symbols $(GAMEDIR)
|
|
if exist $(DOC)\guidebook.txt copy $(DOC)\guidebook.txt $(GAMEDIR)\Guidebook.txt
|
|
if exist $(DOC)\nethack.txt copy $(DOC)\nethack.txt $(GAMEDIR)\NetHack.txt
|
|
@if exist $(GAMEDIR)\NetHack.PDB echo NOTE: You may want to remove $(GAMEDIR:\=/)/NetHack.PDB to conserve space
|
|
@if exist $(GAMEDIR)\NetHackW.PDB echo NOTE: You may want to remove $(GAMEDIR:\=/)/NetHackW.PDB to conserve space
|
|
-copy $(MSWSYS)\defaults.nh $(GAMEDIR)\defaults.nh
|
|
-if not exist $(GAMEDIR)\record. goto>$(GAMEDIR)\record.
|
|
echo install done > $@
|
|
|
|
# copy $(MSWSYS)\winnt.hlp $(GAMEDIR)
|
|
|
|
recover: $(U)recover.exe
|
|
if exist $(U)recover.exe copy $(U)recover.exe $(GAMEDIR)
|
|
if exist $(DOC)\recover.txt copy $(DOC)\recover.txt $(GAMEDIR)\recover.txt
|
|
|
|
$(O)sp_lev.tag: $(O)utility.tag $(DAT)\bigroom.des $(DAT)\castle.des \
|
|
$(DAT)\endgame.des $(DAT)\gehennom.des $(DAT)\knox.des \
|
|
$(DAT)\medusa.des $(DAT)\oracle.des $(DAT)\tower.des \
|
|
$(DAT)\yendor.des $(DAT)\arch.des $(DAT)\barb.des \
|
|
$(DAT)\caveman.des $(DAT)\healer.des $(DAT)\knight.des \
|
|
$(DAT)\monk.des $(DAT)\priest.des $(DAT)\ranger.des \
|
|
$(DAT)\rogue.des $(DAT)\samurai.des $(DAT)\sokoban.des \
|
|
$(DAT)\tourist.des $(DAT)\valkyrie.des $(DAT)\wizard.des
|
|
cd $(DAT)
|
|
$(U)levcomp bigroom.des
|
|
$(U)levcomp castle.des
|
|
$(U)levcomp endgame.des
|
|
$(U)levcomp gehennom.des
|
|
$(U)levcomp knox.des
|
|
$(U)levcomp mines.des
|
|
$(U)levcomp medusa.des
|
|
$(U)levcomp oracle.des
|
|
$(U)levcomp sokoban.des
|
|
$(U)levcomp tower.des
|
|
$(U)levcomp yendor.des
|
|
$(U)levcomp arch.des
|
|
$(U)levcomp barb.des
|
|
$(U)levcomp caveman.des
|
|
$(U)levcomp healer.des
|
|
$(U)levcomp knight.des
|
|
$(U)levcomp monk.des
|
|
$(U)levcomp priest.des
|
|
$(U)levcomp ranger.des
|
|
$(U)levcomp rogue.des
|
|
$(U)levcomp samurai.des
|
|
$(U)levcomp tourist.des
|
|
$(U)levcomp valkyrie.des
|
|
$(U)levcomp wizard.des
|
|
cd $(SRC)
|
|
echo sp_levs done > $(O)sp_lev.tag
|
|
|
|
$(O)utility.tag: $(INCL)\date.h $(INCL)\onames.h $(INCL)\pm.h \
|
|
$(SRC)\monstr.c $(SRC)\vis_tab.c \
|
|
$(U)levcomp.exe $(INCL)\vis_tab.h \
|
|
$(U)dgncomp.exe $(TILEUTIL16)
|
|
@echo utilities made >$@
|
|
@echo utilities made.
|
|
|
|
tileutil: $(U)gif2txt.exe $(U)gif2tx32.exe $(U)txt2ppm.exe
|
|
@echo Optional tile development utilities are up to date.
|
|
|
|
$(O)winhack.res: $(TILEBMP16) $(MSWIN)\winhack.rc $(MSWIN)\mnsel.bmp \
|
|
$(MSWIN)\mnselcnt.bmp $(MSWIN)\mnunsel.bmp \
|
|
$(MSWIN)\petmark.bmp $(MSWIN)\pilemark.bmp $(MSWIN)\NetHack.ico $(MSWIN)\rip.bmp \
|
|
$(MSWIN)\splash.bmp
|
|
@$(rc) -r -fo$@ -i$(MSWIN) -dNDEBUG $(MSWIN)\winhack.rc
|
|
|
|
$(O)console.res: $(MSWSYS)\console.rc $(MSWSYS)\NetHack.ico
|
|
@$(rc) -r -fo$@ -i$(MSWSYS) -dNDEBUG $(MSWSYS)\console.rc
|
|
|
|
|
|
#==========================================
|
|
# The game targets.
|
|
#==========================================
|
|
|
|
# The section for linking the NetHack image looks a little strange at
|
|
# first, especially if you are used to UNIX makes, or NDMAKE. It is
|
|
# Microsoft nmake specific, and it gets around the problem of the
|
|
# link command line being too long for the linker. An "in-line" linker
|
|
# response file is generated temporarily.
|
|
#
|
|
# It takes advantage of the following features of nmake:
|
|
#
|
|
# Inline files :
|
|
# Specifying the "<<" means to start an inline file.
|
|
# Another "<<" at the start of a line closes the
|
|
# inline file.
|
|
#
|
|
# Substitution within Macros:
|
|
# $(mymacro:string1=string2) replaces every
|
|
# occurrence of string1 with string2 in the
|
|
# macro mymacro. Special ascii key codes may be
|
|
# used in the substitution text by preceding it
|
|
# with ^ as we have done below. Every occurence
|
|
# of a <tab> in $(ALLOBJ) is replaced by
|
|
# <+><return><tab>.
|
|
|
|
GAMEOBJ=$(ALLOBJ:^ =^
|
|
)
|
|
GAMEOBJ=$(GAMEOBJ:^ =^
|
|
)
|
|
|
|
#
|
|
# DO NOT INDENT THE << below!
|
|
#
|
|
|
|
# NetHack
|
|
# full gui linkage libs:
|
|
# libs: $(LIBS) $(conlibs) $(guilibs) $(COMCTRL)
|
|
# objs: $(GAMEOBJ) $(TTYOBJ) $(O)nttty.o $(O)tile.o $(GUIOBJ)
|
|
# otherwise:
|
|
# libs: $(LIBS) $(conlibs)
|
|
# objs: $(GAMEOBJ) $(TTYOBJ) $(O)tile.o $(O)guistub.o
|
|
|
|
|
|
$(GAMEDIR)\NetHack.exe : $(O)gamedir.tag $(O)tile.o $(O)nttty.o $(O)guistub.o \
|
|
$(ALLOBJ) $(TTYOBJ) $(GUIOBJ) $(O)console.res $(KEYDLLS)
|
|
@if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
|
|
@echo Linking $(@:\=/)
|
|
$(link) $(lflagsBuild) $(conlflags) /STACK:2048 /PDB:$(GAMEDIR)\$(@B).PDB /MAP:$(O)$(@B).MAP \
|
|
$(LIBS) $(conlibs) -out:$@ @<<$(@B).lnk
|
|
$(GAMEOBJ)
|
|
$(TTYOBJ)
|
|
$(O)nttty.o
|
|
$(O)tile.o
|
|
$(O)guistub.o
|
|
$(O)console.res
|
|
<<
|
|
@if exist $(O)install.tag del $(O)install.tag
|
|
|
|
# NetHackW
|
|
# full tty linkage libs:
|
|
# libs: $(LIBS) $(guilibs) $(COMCTRL)
|
|
# objs: $(GAMEOBJ) $(GUIOBJ) $(TTYOBJ) $(O)tile.o $(O)nttty.o
|
|
# otherwise:
|
|
# libs: $(LIBS) $(guilibs) $(COMCTRL)
|
|
# objs: $(GAMEOBJ) $(GUIOBJ) $(O)tile.o $(O)ttystub.o
|
|
|
|
$(GAMEDIR)\NetHackW.exe : $(O)gamedir.tag $(O)tile.o $(O)ttystub.o \
|
|
$(ALLOBJ) $(TTYOBJ) $(GUIOBJ) $(O)winhack.res $(O)gamedir.tag $(KEYDLLS)
|
|
@if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
|
|
@echo Linking $(@:\=/)
|
|
$(link) $(lflagsBuild) $(guilflags) /STACK:2048 /PDB:$(GAMEDIR)\$(@B).PDB \
|
|
/MAP:$(O)$(@B).MAP $(LIBS) $(guilibs) $(COMCTRL) -out:$@ @<<$(@B).lnk
|
|
$(GAMEOBJ)
|
|
$(GUIOBJ)
|
|
$(O)tile.o
|
|
$(O)ttystub.o
|
|
$(O)winhack.res
|
|
<<
|
|
@if exist $(O)install.tag del $(O)install.tag
|
|
|
|
$(O)gamedir.tag:
|
|
@if not exist $(GAMEDIR)\*.* echo creating directory $(GAMEDIR:\=/)
|
|
@if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
|
|
@echo directory created > $@
|
|
|
|
$(O)nhdefkey.def:
|
|
@echo LIBRARY $(@B) >$@
|
|
! IF "$(TARGET_CPU)"=="x64" || "$(PROCESSOR_ARCHITECTURE)"=="x64"
|
|
! ELSE
|
|
@echo EXPORTS >>$@
|
|
@echo ProcessKeystroke >>$@
|
|
@echo NHkbhit >>$@
|
|
@echo CheckInput >>$@
|
|
@echo SourceWhere >>$@
|
|
@echo SourceAuthor >>$@
|
|
@echo KeyHandlerName >>$@
|
|
! ENDIF
|
|
|
|
$(GAMEDIR)\nhdefkey.dll : $(O)$(@B).o $(O)gamedir.tag $(O)$(@B).def
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(ldebug) /RELEASE /DLL user32.lib \
|
|
/PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).map" /DEF:$(O)$(@B).def \
|
|
/IMPLIB:$(O)$(@B).lib -out:$@ $(O)$(@B).o
|
|
|
|
$(O)nh340key.def:
|
|
@echo LIBRARY $(@B) >$@
|
|
! IF "$(TARGET_CPU)"=="x64" || "$(PROCESSOR_ARCHITECTURE)"=="x64"
|
|
! ELSE
|
|
@echo EXPORTS >>$@
|
|
@echo ProcessKeystroke >>$@
|
|
@echo NHkbhit >>$@
|
|
@echo CheckInput >>$@
|
|
@echo SourceWhere >>$@
|
|
@echo SourceAuthor >>$@
|
|
@echo KeyHandlerName >>$@
|
|
! ENDIF
|
|
|
|
$(GAMEDIR)\nh340key.dll : $(O)$(@B).o $(O)gamedir.tag $(O)$(@B).def
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(ldebug) /RELEASE /NOLOGO /DLL user32.lib \
|
|
/PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).map" /DEF:$(O)$(@B).def \
|
|
/IMPLIB:$(O)$(@B).lib -out:$@ $(O)$(@B).o
|
|
|
|
$(O)nhraykey.def:
|
|
@echo LIBRARY $(@B) >$@
|
|
! IF "$(TARGET_CPU)"=="x64" || "$(PROCESSOR_ARCHITECTURE)"=="x64"
|
|
! ELSE
|
|
@echo EXPORTS >>$@
|
|
@echo ProcessKeystroke >>$@
|
|
@echo NHkbhit >>$@
|
|
@echo CheckInput >>$@
|
|
@echo SourceWhere >>$@
|
|
@echo SourceAuthor >>$@
|
|
@echo KeyHandlerName >>$@
|
|
! ENDIF
|
|
|
|
$(GAMEDIR)\nhraykey.dll : $(O)$(@B).o $(O)gamedir.tag $(O)$(@B).def
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(ldebug) /RELEASE /NOLOGO /DLL user32.lib \
|
|
/PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).map" /DEF:$(O)$(@B).def \
|
|
/IMPLIB:$(O)$(@B).lib -out:$@ $(O)$(@B).o
|
|
|
|
#
|
|
# Secondary Targets.
|
|
#
|
|
|
|
#==========================================
|
|
# Makedefs Stuff
|
|
#==========================================
|
|
$(U)nhsizes.exe: $(O)nhsizes.o
|
|
@echo Linking $(@:\=/)
|
|
$(link) $(lflagsBuild) -out:$@ $(O)nhsizes.o $(O)panic.o $(O)alloc.o
|
|
|
|
$(O)nhsizes.o: $(CONFIG_H) nhsizes.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ nhsizes.c
|
|
|
|
$(U)makedefs.exe: $(MAKEOBJS)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(MAKEOBJS)
|
|
|
|
$(O)makedefs.o: $(CONFIG_H) $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\objclass.h \
|
|
$(INCL)\monsym.h $(INCL)\qtext.h $(INCL)\patchlevel.h \
|
|
$(U)makedefs.c
|
|
@if not exist $(OBJ)\*.* echo creating directory $(OBJ:\=/)
|
|
@if not exist $(OBJ)\*.* mkdir $(OBJ)
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)makedefs.c
|
|
|
|
#
|
|
# date.h should be remade every time any of the source or include
|
|
# files is modified.
|
|
#
|
|
|
|
$(INCL)\date.h $(OPTIONS_FILE) : $(U)makedefs.exe
|
|
$(U)makedefs -v
|
|
|
|
$(INCL)\onames.h : $(U)makedefs.exe
|
|
$(U)makedefs -o
|
|
|
|
$(INCL)\pm.h : $(U)makedefs.exe
|
|
$(U)makedefs -p
|
|
|
|
#$(INCL)\trap.h : $(U)makedefs.exe
|
|
# $(U)makedefs -t
|
|
|
|
$(SRC)\monstr.c: $(U)makedefs.exe
|
|
$(U)makedefs -m
|
|
|
|
$(INCL)\vis_tab.h: $(U)makedefs.exe
|
|
$(U)makedefs -z
|
|
|
|
$(SRC)\vis_tab.c: $(U)makedefs.exe
|
|
$(U)makedefs -z
|
|
|
|
#==========================================
|
|
# uudecode utility and uuencoded targets
|
|
#==========================================
|
|
|
|
$(U)uudecode.exe: $(O)uudecode.o
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(O)uudecode.o
|
|
|
|
$(O)uudecode.o: $(SSYS)\uudecode.c
|
|
@$(cc) $(cflagsBuild) /D_CRT_SECURE_NO_DEPRECATE -Fo$@ $(SSYS)\uudecode.c
|
|
|
|
$(MSWSYS)\NetHack.ico : $(U)uudecode.exe $(MSWSYS)\nhico.uu
|
|
chdir $(MSWSYS)
|
|
..\..\util\uudecode.exe nhico.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\NetHack.ico : $(U)uudecode.exe $(MSWSYS)\nhico.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe ../../sys/winnt/nhico.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\mnsel.bmp: $(U)uudecode.exe $(MSWIN)\mnsel.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe mnsel.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\mnselcnt.bmp: $(U)uudecode.exe $(MSWIN)\mnselcnt.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe mnselcnt.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\mnunsel.bmp: $(U)uudecode.exe $(MSWIN)\mnunsel.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe mnunsel.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\petmark.bmp: $(U)uudecode.exe $(MSWIN)\petmark.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe petmark.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\pilemark.bmp: $(U)uudecode.exe $(MSWIN)\pilemark.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe pilemark.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\rip.bmp: $(U)uudecode.exe $(MSWIN)\rip.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe rip.uu
|
|
chdir ..\..\src
|
|
|
|
$(MSWIN)\splash.bmp: $(U)uudecode.exe $(MSWIN)\splash.uu
|
|
chdir $(MSWIN)
|
|
..\..\util\uudecode.exe splash.uu
|
|
chdir ..\..\src
|
|
|
|
#=================================================
|
|
# Level Compiler Stuff
|
|
#=================================================
|
|
#
|
|
# defer to the steps in ..\win\win32\levstuff.mak
|
|
#
|
|
|
|
$(U)lev_yacc.c $(INCL)\lev_comp.h: $(U)lev_comp.y
|
|
nmake -nologo -f ..\win\win32\levstuff.mak default
|
|
|
|
$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h $(U)lev_yacc.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)lev_yacc.c
|
|
|
|
$(O)lev_lex.o: $(HACK_H) $(INCL)\lev_comp.h $(SP_LEV_H) \
|
|
$(U)lev_lex.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)lev_lex.c
|
|
|
|
$(O)lev_main.o: $(U)lev_main.c $(HACK_H) $(SP_LEV_H)
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)lev_main.c
|
|
|
|
$(U)levcomp.exe: $(LEVCOMPOBJS)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(LEVCOMPOBJS:^ =^
|
|
)
|
|
<<
|
|
|
|
#=================================================
|
|
# Dungeon Compiler Stuff
|
|
#=================================================
|
|
#
|
|
# defer to the steps in ..\win\win32\dgnstuff.mak
|
|
#
|
|
$(U)dgn_yacc.c $(INCL)\dgn_comp.h : $(U)dgn_comp.y
|
|
nmake -nologo -f ..\win\win32\dgnstuff.mak default
|
|
|
|
$(O)dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h $(U)dgn_yacc.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)dgn_yacc.c
|
|
|
|
$(O)dgn_lex.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \
|
|
$(U)dgn_lex.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)dgn_lex.c
|
|
|
|
$(O)dgn_main.o: $(HACK_H) $(U)dgn_main.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)dgn_main.c
|
|
|
|
$(U)dgncomp.exe: $(DGNCOMPOBJS)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(DGNCOMPOBJS:^ =^
|
|
)
|
|
<<
|
|
|
|
#=================================================
|
|
# Create directory for holding object files
|
|
#=================================================
|
|
|
|
$(O)obj.tag:
|
|
@if not exist $(OBJ)\*.* echo creating directory $(OBJ:\=/)
|
|
@if not exist $(OBJ)\*.* mkdir $(OBJ)
|
|
@echo directory created >$@
|
|
|
|
#==========================================
|
|
# Notify of any CL environment variables
|
|
# in effect since they change the compiler
|
|
# options.
|
|
#==========================================
|
|
|
|
envchk:
|
|
! IF ($(VSVER) < 2010)
|
|
@echo Your Visual Studio version is too old or untested ($(_NMAKE_VER))
|
|
!ERROR Your Visual Studio version is too old or untested ($(_NMAKE_VER))
|
|
! ENDIF
|
|
! IF "$(TARGET_CPU)"=="x64"
|
|
@echo Windows x64 64-bit build
|
|
! ELSE
|
|
@echo Windows x86 32-bit build
|
|
! ENDIF
|
|
! IF "$(CL)"!=""
|
|
# @echo Warning, the CL Environment variable is defined:
|
|
# @echo CL=$(CL)
|
|
! ENDIF
|
|
@echo ----
|
|
@echo NOTE: This build will include tile support.
|
|
@echo ----
|
|
|
|
#==========================================
|
|
#=========== SECONDARY TARGETS ============
|
|
#==========================================
|
|
|
|
#===========================================
|
|
# Header files NOT distributed in $(INCL)
|
|
#===========================================
|
|
|
|
$(INCL)\win32api.h: $(MSWSYS)\win32api.h
|
|
copy $(MSWSYS)\win32api.h $@
|
|
|
|
|
|
#==========================================
|
|
# DLB utility and nhdat file creation
|
|
#==========================================
|
|
|
|
$(U)dlb_main.exe: $(DLBOBJ) $(O)dlb.o
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(O)dlb_main.o
|
|
$(O)dlb.o
|
|
$(O)alloc.o
|
|
$(O)panic.o
|
|
<<
|
|
|
|
$(O)dlb.o: $(O)dlb_main.o $(O)alloc.o $(O)panic.o $(INCL)\dlb.h
|
|
@$(cc) $(cflagsBuild) /Fo$@ $(SRC)\dlb.c
|
|
|
|
$(O)dlb_main.o: $(UTIL)\dlb_main.c $(INCL)\config.h $(INCL)\dlb.h
|
|
@$(cc) $(cflagsBuild) /Fo$@ $(UTIL)\dlb_main.c
|
|
|
|
$(DAT)\porthelp: $(MSWSYS)\porthelp
|
|
@copy $(MSWSYS)\porthelp $@ >nul
|
|
|
|
nhdat: $(U)dlb_main.exe $(DAT)\data $(DAT)\oracles $(OPTIONS_FILE) \
|
|
$(DAT)\quest.dat $(DAT)\rumors $(DAT)\help $(DAT)\hh $(DAT)\cmdhelp \
|
|
$(DAT)\history $(DAT)\opthelp $(DAT)\wizhelp $(DAT)\dungeon $(DAT)\porthelp \
|
|
$(DAT)\license $(DAT)\engrave $(DAT)\epitaph $(DAT)\bogusmon $(DAT)\tribute $(O)sp_lev.tag
|
|
cd $(DAT)
|
|
echo data >dlb.lst
|
|
echo oracles >>dlb.lst
|
|
if exist options echo options >>dlb.lst
|
|
if exist ttyoptions echo ttyoptions >>dlb.lst
|
|
if exist guioptions echo guioptions >>dlb.lst
|
|
if exist porthelp echo porthelp >>dlb.lst
|
|
echo quest.dat >>dlb.lst
|
|
echo rumors >>dlb.lst
|
|
echo engrave >>dlb.lst
|
|
echo epitaph >>dlb.lst
|
|
echo bogusmon >>dlb.lst
|
|
echo tribute >>dlb.lst
|
|
echo help >>dlb.lst
|
|
echo hh >>dlb.lst
|
|
echo cmdhelp >>dlb.lst
|
|
echo history >>dlb.lst
|
|
echo opthelp >>dlb.lst
|
|
echo wizhelp >>dlb.lst
|
|
echo dungeon >>dlb.lst
|
|
echo license >>dlb.lst
|
|
for %%N in (*.lev) do echo %%N >>dlb.lst
|
|
$(U)dlb_main cIf dlb.lst $(SRC)\nhdat
|
|
cd $(SRC)
|
|
|
|
#==========================================
|
|
# Recover Utility
|
|
#==========================================
|
|
|
|
$(U)recover.exe: $(RECOVOBJS)
|
|
@echo Linking $(@:\=/)
|
|
$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(RECOVOBJS)
|
|
|
|
$(O)recover.o: $(CONFIG_H) $(U)recover.c $(INCL)\win32api.h
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)recover.c
|
|
|
|
#==========================================
|
|
# Tile Mapping
|
|
#==========================================
|
|
|
|
$(SRC)\tile.c: $(U)tilemap.exe
|
|
@echo A new $(@:\=/) has been created
|
|
@$(U)tilemap
|
|
|
|
$(U)tilemap.exe: $(O)tilemap.o
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(O)tilemap.o
|
|
|
|
$(O)tilemap.o: $(WSHR)\tilemap.c $(HACK_H)
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(WSHR)\tilemap.c
|
|
|
|
$(O)tiletx32.o: $(WSHR)\tilemap.c $(HACK_H)
|
|
@$(cc) $(cflagsBuild) /DTILETEXT /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tilemap.c
|
|
|
|
$(O)tiletxt.o: $(WSHR)\tilemap.c $(HACK_H)
|
|
@$(cc) $(cflagsBuild) /DTILETEXT -Fo$@ $(WSHR)\tilemap.c
|
|
|
|
$(O)gifread.o: $(WSHR)\gifread.c $(CONFIG_H) $(TILE_H)
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) -Fo$@ $(WSHR)\gifread.c
|
|
|
|
$(O)gifrd32.o: $(WSHR)\gifread.c $(CONFIG_H) $(TILE_H)
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\gifread.c
|
|
|
|
$(O)ppmwrite.o: $(WSHR)\ppmwrite.c $(CONFIG_H) $(TILE_H)
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) -Fo$@ $(WSHR)\ppmwrite.c
|
|
|
|
$(O)tiletext.o: $(WSHR)\tiletext.c $(CONFIG_H) $(TILE_H)
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) -Fo$@ $(WSHR)\tiletext.c
|
|
|
|
$(O)tilete32.o: $(WSHR)\tiletext.c $(CONFIG_H) $(TILE_H)
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tiletext.c
|
|
|
|
#==========================================
|
|
# Optional Tile Utilities
|
|
#==========================================
|
|
|
|
$(U)gif2txt.exe: $(GIFREADERS) $(TEXT_IO)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(GIFREADERS:^ =^
|
|
)
|
|
$(TEXT_IO:^ =^
|
|
)
|
|
<<
|
|
|
|
$(U)gif2tx32.exe: $(GIFREADERS32) $(TEXT_IO32)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(GIFREADERS32:^ =^
|
|
)
|
|
$(TEXT_IO32:^ =^
|
|
)
|
|
<<
|
|
|
|
$(U)txt2ppm.exe: $(PPMWRITERS) $(TEXT_IO)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(PPMWRITERS:^ =^
|
|
)
|
|
$(TEXT_IO:^ =^
|
|
)
|
|
<<
|
|
|
|
$(TILEBMP16): $(TILEUTIL16) $(TILEFILES)
|
|
@echo Creating 16x16 binary tile files (this may take some time)
|
|
@$(U)tile2bmp $(TILEBMP16)
|
|
#$(TILEBMP32): $(TILEUTIL32) $(TILEFILES32)
|
|
# @echo Creating 32x32 binary tile files (this may take some time)
|
|
# @$(U)til2bm32 $(TILEBMP32)
|
|
|
|
|
|
$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXT_IO)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(O)tile2bmp.o
|
|
$(TEXT_IO:^ =^
|
|
)
|
|
<<
|
|
|
|
$(U)til2bm32.exe: $(O)til2bm32.o $(TEXT_IO32)
|
|
@echo Linking $(@:\=/)
|
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
|
$(O)til2bm32.o
|
|
$(TEXT_IO32:^ =^
|
|
)
|
|
<<
|
|
|
|
$(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(INCL)\win32api.h
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) /DPACKED_FILE /Fo$@ $(WSHR)\tile2bmp.c
|
|
|
|
$(O)til2bm32.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(INCL)\win32api.h
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) /DPACKED_FILE /DTILE_X=32 /DTILE_Y=32 /Fo$@ $(WSHR)\tile2bmp.c
|
|
|
|
#==========================================
|
|
# Housekeeping
|
|
#==========================================
|
|
|
|
spotless: clean
|
|
! IF ("$(OBJ)"!="")
|
|
if exist $(OBJ)\* rmdir $(OBJ) /s /Q
|
|
if exist $(GAMEDIR)\nhdefkey.dll del $(GAMEDIR)\nhdefkey.dll
|
|
if exist $(GAMEDIR)\nh340key.dll del $(GAMEDIR)\nh340key.dll
|
|
if exist $(GAMEDIR)\nhraykey.dll del $(GAMEDIR)\nhraykey.dll
|
|
if exist $(GAMEDIR)\NetHack.exe del $(GAMEDIR)\NetHack.exe
|
|
if exist $(GAMEDIR)\NetHack.pdb del $(GAMEDIR)\NetHack.pdb
|
|
if exist $(GAMEDIR)\nhdat del $(GAMEDIR)\nhdat
|
|
! ENDIF
|
|
if exist $(INCL)\date.h del $(INCL)\date.h
|
|
if exist $(INCL)\onames.h del $(INCL)\onames.h
|
|
if exist $(INCL)\pm.h del $(INCL)\pm.h
|
|
if exist $(INCL)\vis_tab.h del $(INCL)\vis_tab.h
|
|
if exist $(SRC)\vis_tab.c del $(SRC)\vis_tab.c
|
|
if exist $(SRC)\tile.c del $(SRC)\tile.c
|
|
if exist $(U)*.lnk del $(U)*.lnk
|
|
if exist $(U)*.map del $(U)*.map
|
|
if exist $(DAT)\data del $(DAT)\data
|
|
if exist $(DAT)\rumors del $(DAT)\rumors
|
|
if exist $(DAT)\engrave del $(DAT)\engrave
|
|
if exist $(DAT)\epitaph del $(DAT)\epitaph
|
|
if exist $(DAT)\bogusmon del $(DAT)\bogusmon
|
|
if exist $(DAT)\???-fil?.lev del $(DAT)\???-fil?.lev
|
|
if exist $(DAT)\???-goal.lev del $(DAT)\???-goal.lev
|
|
if exist $(DAT)\???-loca.lev del $(DAT)\???-loca.lev
|
|
if exist $(DAT)\???-strt.lev del $(DAT)\???-strt.lev
|
|
if exist $(DAT)\air.lev del $(DAT)\air.lev
|
|
if exist $(DAT)\asmodeus.lev del $(DAT)\asmodeus.lev
|
|
if exist $(DAT)\astral.lev del $(DAT)\astral.lev
|
|
if exist $(DAT)\baalz.lev del $(DAT)\baalz.lev
|
|
if exist $(DAT)\bigrm-*.lev del $(DAT)\bigrm-*.lev
|
|
if exist $(DAT)\castle.lev del $(DAT)\castle.lev
|
|
if exist $(DAT)\data del $(DAT)\data
|
|
if exist $(DAT)\dungeon del $(DAT)\dungeon
|
|
if exist $(DAT)\dungeon.pdf del $(DAT)\dungeon.pdf
|
|
if exist $(DAT)\earth.lev del $(DAT)\earth.lev
|
|
if exist $(DAT)\fakewiz?.lev del $(DAT)\fakewiz?.lev
|
|
if exist $(DAT)\fire.lev del $(DAT)\fire.lev
|
|
if exist $(DAT)\juiblex.lev del $(DAT)\juiblex.lev
|
|
if exist $(DAT)\knox.lev del $(DAT)\knox.lev
|
|
if exist $(DAT)\medusa-?.lev del $(DAT)\medusa-?.lev
|
|
if exist $(DAT)\mine*.lev del $(DAT)\mine*.lev
|
|
if exist $(DAT)\options del $(DAT)\options
|
|
if exist $(DAT)\ttyoptions del $(DAT)\ttyoptions
|
|
if exist $(DAT)\guioptions del $(DAT)\guioptions
|
|
if exist $(DAT)\oracle.lev del $(DAT)\oracle.lev
|
|
if exist $(DAT)\oracles del $(DAT)\oracles
|
|
if exist $(DAT)\orcus.lev del $(DAT)\orcus.lev
|
|
if exist $(DAT)\rumors del $(DAT)\rumors
|
|
if exist $(DAT)\quest.dat del $(DAT)\quest.dat
|
|
if exist $(DAT)\sanctum.lev del $(DAT)\sanctum.lev
|
|
if exist $(DAT)\soko?-?.lev del $(DAT)\soko?-?.lev
|
|
if exist $(DAT)\tower?.lev del $(DAT)\tower?.lev
|
|
if exist $(DAT)\valley.lev del $(DAT)\valley.lev
|
|
if exist $(DAT)\water.lev del $(DAT)\water.lev
|
|
if exist $(DAT)\wizard?.lev del $(DAT)\wizard?.lev
|
|
if exist $(DAT)\dlb.lst del $(DAT)\dlb.lst
|
|
if exist $(O)sp_lev.tag del $(O)sp_lev.tag
|
|
if exist $(SRC)\monstr.c del $(SRC)\monstr.c
|
|
if exist $(SRC)\vis_tab.c del $(SRC)\vis_tab.c
|
|
if exist $(U)recover.exe del $(U)recover.exe
|
|
if exist nhdat. del nhdat.
|
|
if exist $(O)obj.tag del $(O)obj.tag
|
|
if exist $(O)gamedir.tag del $(O)gamedir.tag
|
|
if exist $(O)nh*key.lib del $(O)nh*key.lib
|
|
if exist $(O)nh*key.exp del $(O)nh*key.exp
|
|
clean:
|
|
if exist $(O)*.o del $(O)*.o
|
|
if exist $(O)utility.tag del $(O)utility.tag
|
|
if exist $(U)makedefs.exe del $(U)makedefs.exe
|
|
if exist $(U)levcomp.exe del $(U)levcomp.exe
|
|
if exist $(U)dgncomp.exe del $(U)dgncomp.exe
|
|
if exist $(SRC)\*.lnk del $(SRC)\*.lnk
|
|
if exist $(SRC)\*.map del $(SRC)\*.map
|
|
if exist $(O)install.tag del $(O)install.tag
|
|
if exist $(O)console.res del $(O)console.res
|
|
if exist $(O)dgncomp.MAP del $(O)dgncomp.MAP
|
|
if exist $(O)dgncomp.PDB del $(O)dgncomp.PDB
|
|
if exist $(O)dlb_main.MAP del $(O)dlb_main.MAP
|
|
if exist $(O)dlb_main.PDB del $(O)dlb_main.PDB
|
|
if exist $(O)gamedir.tag del $(O)gamedir.tag
|
|
if exist $(O)levcomp.MAP del $(O)levcomp.MAP
|
|
if exist $(O)levcomp.PDB del $(O)levcomp.PDB
|
|
if exist $(O)makedefs.MAP del $(O)makedefs.MAP
|
|
if exist $(O)makedefs.PDB del $(O)makedefs.PDB
|
|
if exist $(O)NetHack.MAP del $(O)NetHack.MAP
|
|
if exist $(O)nh340key.def del $(O)nh340key.def
|
|
if exist $(O)nh340key.exp del $(O)nh340key.exp
|
|
if exist $(O)nh340key.lib del $(O)nh340key.lib
|
|
if exist $(O)nh340key.map del $(O)nh340key.map
|
|
if exist $(O)nh340key.PDB del $(O)nh340key.PDB
|
|
if exist $(O)nhdefkey.def del $(O)nhdefkey.def
|
|
if exist $(O)nhdefkey.exp del $(O)nhdefkey.exp
|
|
if exist $(O)nhdefkey.lib del $(O)nhdefkey.lib
|
|
if exist $(O)nhdefkey.map del $(O)nhdefkey.map
|
|
if exist $(O)nhdefkey.PDB del $(O)nhdefkey.PDB
|
|
if exist $(O)nhraykey.def del $(O)nhraykey.def
|
|
if exist $(O)nhraykey.exp del $(O)nhraykey.exp
|
|
if exist $(O)nhraykey.lib del $(O)nhraykey.lib
|
|
if exist $(O)nhraykey.map del $(O)nhraykey.map
|
|
if exist $(O)nhraykey.PDB del $(O)nhraykey.PDB
|
|
if exist $(O)obj.tag del $(O)obj.tag
|
|
if exist $(O)sp_lev.tag del $(O)sp_lev.tag
|
|
if exist $(O)uudecode.MAP del $(O)uudecode.MAP
|
|
if exist $(O)uudecode.PDB del $(O)uudecode.PDB
|
|
rem
|
|
rem defer to the steps in ..\win\win32\levstuff.mak
|
|
rem
|
|
nmake -nologo -f ..\win\win32\levstuff.mak clean
|
|
rem
|
|
rem defer to the steps in ..\win\win32\dgnstuff.mak
|
|
rem
|
|
nmake -nologo -f ..\win\win32\dgnstuff.mak clean
|
|
|
|
if exist $(TILEBMP16) del $(TILEBMP16)
|
|
if exist $(TILEBMP32) del $(TILEBMP32)
|
|
|
|
#===================================================================
|
|
# OTHER DEPENDENCIES
|
|
#===================================================================
|
|
|
|
#
|
|
# dat dependencies
|
|
#
|
|
|
|
$(DAT)\data: $(O)utility.tag $(DATABASE)
|
|
$(U)makedefs -d
|
|
|
|
$(DAT)\rumors: $(O)utility.tag $(DAT)\rumors.tru $(DAT)\rumors.fal
|
|
$(U)makedefs -r
|
|
|
|
$(DAT)\quest.dat: $(O)utility.tag $(DAT)\quest.txt
|
|
$(U)makedefs -q
|
|
|
|
$(DAT)\oracles: $(O)utility.tag $(DAT)\oracles.txt
|
|
$(U)makedefs -h
|
|
|
|
$(DAT)\engrave: $(DAT)\engrave.txt $(U)makedefs.exe
|
|
$(U)makedefs -s
|
|
|
|
$(DAT)\epitaph: $(DAT)\epitaph.txt $(U)makedefs.exe
|
|
$(U)makedefs -s
|
|
|
|
$(DAT)\bogusmon: $(DAT)\bogusmon.txt $(U)makedefs.exe
|
|
$(U)makedefs -s
|
|
|
|
$(DAT)\dungeon: $(O)utility.tag $(DAT)\dungeon.def
|
|
$(U)makedefs -e
|
|
cd $(DAT)
|
|
$(U)dgncomp dungeon.pdf
|
|
cd $(SRC)
|
|
|
|
#
|
|
# NT dependencies
|
|
#
|
|
|
|
$(O)nttty.o: $(HACK_H) $(TILE_H) $(INCL)\win32api.h $(MSWSYS)\nttty.c
|
|
@$(cc) $(cflagsBuild) -I$(WSHR) -Fo$@ $(MSWSYS)\nttty.c
|
|
$(O)winnt.o: $(HACK_H) $(INCL)\win32api.h $(MSWSYS)\winnt.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(MSWSYS)\winnt.c
|
|
$(O)ntsound.o: $(HACK_H) $(MSWSYS)\ntsound.c
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(MSWSYS)\ntsound.c
|
|
|
|
#if you aren't linking in the full gui then
|
|
#include the following stub for proper linkage.
|
|
|
|
$(O)guistub.o: $(HACK_H) $(MSWSYS)\stubs.c
|
|
@$(cc) $(cflagsBuild) -DGUISTUB -Fo$@ $(MSWSYS)\stubs.c
|
|
|
|
#if you aren't linking in the full tty then
|
|
#include the following stub for proper linkage.
|
|
|
|
$(O)ttystub.o: $(HACK_H) $(MSWSYS)\stubs.c
|
|
@$(cc) $(cflagsBuild) -DTTYSTUB -Fo$@ $(MSWSYS)\stubs.c
|
|
|
|
#
|
|
# util dependencies
|
|
#
|
|
|
|
$(O)panic.o: $(U)panic.c $(CONFIG_H)
|
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)panic.c
|
|
|
|
#
|
|
# sys/share dependencies
|
|
#
|
|
|
|
(O)cppregex.o: $(O)cppregex.cpp $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\cppregex.cpp
|
|
|
|
#
|
|
# The rest are stolen from sys/unix/Makefile.src,
|
|
# with the following changes:
|
|
# * ../include changed to $(INCL)
|
|
# * slashes changed to back-slashes
|
|
# * -c (which is included in CFLAGS) substituted with -Fo$@
|
|
# * $(CFLAGS) replaced with $(cflagsBuild)
|
|
# * $(CC) replaced with @$(CC)
|
|
# * targets prefixed with $(O)
|
|
# * the single win32api.h reference uncommented
|
|
# but otherwise 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) $(cflagsBuild) -Fo$@ ..\sys\atari\tos.c
|
|
$(O)pcmain.o: ..\sys\share\pcmain.c $(HACK_H) $(INCL)\dlb.h \
|
|
$(INCL)\win32api.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\pcmain.c
|
|
$(O)pcsys.o: ..\sys\share\pcsys.c $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\pcsys.c
|
|
$(O)pctty.o: ..\sys\share\pctty.c $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\pctty.c
|
|
$(O)pcunix.o: ..\sys\share\pcunix.c $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\pcunix.c
|
|
$(O)random.o: ..\sys\share\random.c $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\random.c
|
|
$(O)ioctl.o: ..\sys\share\ioctl.c $(HACK_H) $(INCL)\tcap.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\ioctl.c
|
|
$(O)unixtty.o: ..\sys\share\unixtty.c $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\unixtty.c
|
|
$(O)unixmain.o: ..\sys\unix\unixmain.c $(HACK_H) $(INCL)\dlb.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\unix\unixmain.c
|
|
$(O)unixunix.o: ..\sys\unix\unixunix.c $(HACK_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\unix\unixunix.c
|
|
$(O)unixres.o: ..\sys\unix\unixres.c $(CONFIG_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\unix\unixres.c
|
|
$(O)bemain.o: ..\sys\be\bemain.c $(HACK_H) $(INCL)\dlb.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\be\bemain.c
|
|
$(O)getline.o: ..\win\tty\getline.c $(HACK_H) $(INCL)\func_tab.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\tty\getline.c
|
|
$(O)termcap.o: ..\win\tty\termcap.c $(HACK_H) $(INCL)\tcap.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\tty\termcap.c
|
|
$(O)topl.o: ..\win\tty\topl.c $(HACK_H) $(INCL)\tcap.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\tty\topl.c
|
|
$(O)wintty.o: ..\win\tty\wintty.c $(HACK_H) $(INCL)\dlb.h $(INCL)\tcap.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\tty\wintty.c
|
|
$(O)Window.o: ..\win\X11\Window.c $(INCL)\xwindowp.h $(INCL)\xwindow.h \
|
|
$(CONFIG_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\Window.c
|
|
$(O)dialogs.o: ..\win\X11\dialogs.c $(CONFIG_H)
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\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) $(cflagsBuild) -Fo$@ ..\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) $(cflagsBuild) -Fo$@ ..\win\X11\winmap.c
|
|
$(O)winmenu.o: ..\win\X11\winmenu.c $(HACK_H) $(INCL)\winX.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winmenu.c
|
|
$(O)winmesg.o: ..\win\X11\winmesg.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\winX.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winmesg.c
|
|
$(O)winmisc.o: ..\win\X11\winmisc.c $(HACK_H) $(INCL)\func_tab.h \
|
|
$(INCL)\winX.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winmisc.c
|
|
$(O)winstat.o: ..\win\X11\winstat.c $(HACK_H) $(INCL)\winX.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winstat.c
|
|
$(O)wintext.o: ..\win\X11\wintext.c $(HACK_H) $(INCL)\winX.h $(INCL)\xwindow.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\wintext.c
|
|
$(O)winval.o: ..\win\X11\winval.c $(HACK_H) $(INCL)\winX.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winval.c
|
|
$(O)tile.o: $(SRC)\tile.c $(HACK_H)
|
|
$(O)gnaskstr.o: ..\win\gnome\gnaskstr.c ..\win\gnome\gnaskstr.h \
|
|
..\win\gnome\gnmain.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnaskstr.c
|
|
$(O)gnbind.o: ..\win\gnome\gnbind.c ..\win\gnome\gnbind.h ..\win\gnome\gnmain.h \
|
|
..\win\gnome\gnmenu.h ..\win\gnome\gnaskstr.h \
|
|
..\win\gnome\gnyesno.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnbind.c
|
|
$(O)gnglyph.o: ..\win\gnome\gnglyph.c ..\win\gnome\gnglyph.h $(INCL)\tile2x11.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\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) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\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) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnmap.c
|
|
$(O)gnmenu.o: ..\win\gnome\gnmenu.c ..\win\gnome\gnmenu.h ..\win\gnome\gnmain.h \
|
|
..\win\gnome\gnbind.h $(INCL)\func_tab.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnmenu.c
|
|
$(O)gnmesg.o: ..\win\gnome\gnmesg.c ..\win\gnome\gnmesg.h ..\win\gnome\gnsignal.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\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) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnopts.c
|
|
$(O)gnplayer.o: ..\win\gnome\gnplayer.c ..\win\gnome\gnplayer.h \
|
|
..\win\gnome\gnmain.h $(HACK_H)
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnplayer.c
|
|
$(O)gnsignal.o: ..\win\gnome\gnsignal.c ..\win\gnome\gnsignal.h \
|
|
..\win\gnome\gnmain.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\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) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\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) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gntext.c
|
|
$(O)gnyesno.o: ..\win\gnome\gnyesno.c ..\win\gnome\gnbind.h ..\win\gnome\gnyesno.h
|
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnyesno.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) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnworn.c
|
|
$(O)wingem.o: ..\win\gem\wingem.c $(HACK_H) $(INCL)\func_tab.h $(INCL)\dlb.h \
|
|
$(INCL)\patchlevel.h $(INCL)\wingem.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\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) $(cflagsBuild) -Fo$@ ..\win\gem\wingem1.c
|
|
$(O)load_img.o: ..\win\gem\load_img.c $(INCL)\load_img.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\gem\load_img.c
|
|
$(O)gr_rect.o: ..\win\gem\gr_rect.c $(INCL)\gr_rect.h
|
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\gem\gr_rect.c
|
|
$(O)tile.o: $(SRC)\tile.c $(HACK_H)
|
|
$(O)qt_win.o: ..\win\Qt\qt_win.cpp $(HACK_H) $(INCL)\func_tab.h \
|
|
$(INCL)\dlb.h $(INCL)\patchlevel.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) -Fo$@ ..\win\Qt\qt_win.cpp
|
|
$(O)qt_clust.o: ..\win\Qt\qt_clust.cpp $(INCL)\qt_clust.h
|
|
$(CXX) $(CXXFLAGS) -Fo$@ ..\win\Qt\qt_clust.cpp
|
|
$(O)qttableview.o: ..\win\Qt\qttableview.cpp $(INCL)\qttableview.h
|
|
$(CXX) $(CXXFLAGS) -Fo$@ ..\win\Qt\qttableview.cpp
|
|
$(O)wc_chainin.o: ..\win\chain\wc_chainin.c $(HACK_H)
|
|
@$(cc) $(cflagsBuild) -Fo$@ ..\win\chain\wc_chainin.c
|
|
$(O)wc_chainout.o: ..\win\chain\wc_chainout.c $(HACK_H)
|
|
@$(cc) $(cflagsBuild) -Fo$@ ..\win\chain\wc_chainout.c
|
|
$(O)wc_trace.o: ..\win\chain\wc_trace.c $(HACK_H) $(INCL)\func_tab.h
|
|
@$(cc) $(cflagsBuild) -Fo$@ ..\win\chain\wc_trace.c
|
|
$(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) $(INCL)\lev.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
|
|
$(O)do.o: do.c $(HACK_H) $(INCL)\lev.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)\lev.h $(INCL)\dlb.h
|
|
$(O)engrave.o: engrave.c $(HACK_H) $(INCL)\lev.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 #zlib.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) $(INCL)\lev.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 $(INCL)\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)o_init.o: o_init.c $(HACK_H) $(INCL)\lev.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) $(INCL)\qtext.h
|
|
$(O)questpgr.o: questpgr.c $(HACK_H) $(INCL)\dlb.h $(INCL)\qtext.h
|
|
$(O)read.o: read.c $(HACK_H)
|
|
$(O)rect.o: rect.c $(HACK_H)
|
|
$(O)region.o: region.c $(HACK_H) $(INCL)\lev.h
|
|
$(O)restore.o: restore.c $(HACK_H) $(INCL)\lev.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)\lev.h $(INCL)\dlb.h
|
|
$(O)save.o: save.c $(HACK_H) $(INCL)\lev.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) $(INCL)\lev.h
|
|
$(O)topten.o: topten.c $(HACK_H) $(INCL)\dlb.h $(INCL)\patchlevel.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)\dlb.h $(INCL)\date.h \
|
|
$(INCL)\patchlevel.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) $(INCL)\qtext.h
|
|
$(O)worm.o: worm.c $(HACK_H) $(INCL)\lev.h
|
|
$(O)worn.o: worn.c $(HACK_H)
|
|
$(O)write.o: write.c $(HACK_H)
|
|
$(O)zap.o: zap.c $(HACK_H)
|
|
|
|
# end of file
|
|
|