There were multiple symbol-related lists that had to be kept
in sync in various places.
Consolidate some of that into a single new file
defsym.h
with a set of morphing macros that can be custom-called from
the various places that use the sym info without maintaining
multiple occurrences. Most maintenance can be done there.
Rename monsym.h to sym.h since it looks after some
symbols not related to monsters now too.
The defsym.h header file is included in multiple places to
produce different code depending on its use and the controlling
macro definitions in place prior to including it.
Its purpose is to have a definitive source for
pchar, objclass and mon symbol maintenance.
The controlling macros used to morph the resulting code are
used in these places:
- in include/sym.h for enums of some S_ symbol values
(define PCHAR_ENUM, MONSYMS_ENUM prior to #include defsym.h)
- in include/objclass.h for enums of some S_ symbol values
(define OBJCLASS_ENUM prior to #include defsym.h)
- in src/symbols.c for parsing S_ entries in config files
(define PCHAR_PARSE, MONSYMS_PARSE, OBJCLASS_PARSE prior
to #include defsym.h)
- in src/drawing.c for initializing some data structures/arrays
(define PCHAR_DRAWING, MONSYMS_DRAWING, OBJCLASS_DRAWING prior
to #include defsym.h)
- in win/share/tilemap.c for processing a tile file
(define PCHAR_TILES prior to #include defsym.h).
1719 lines
59 KiB
Makefile
1719 lines
59 KiB
Makefile
# NetHack 3.7 Makefile.gcc $NHDT-Date: 1597761345 2020/08/18 14:35:45 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.114 $
|
|
# Copyright (c) 2010 by Michael Allison
|
|
# NetHack may be freely redistributed. See license for details.
|
|
#
|
|
#==============================================================================
|
|
#
|
|
# Win32 Compilers Tested with this Makefile.gcc:
|
|
# mingw-w64
|
|
# from:
|
|
# https://sourceforge.net/p/mingw-w64/wiki2/GeneralUsageInstructions/
|
|
# Toolchain for Windows 32-bit target
|
|
#
|
|
#
|
|
#==============================================================================
|
|
# This is used for building two versions of NetHack:
|
|
#
|
|
# A tty port utilizing the Win32 Console I/O subsystem, Console
|
|
# NetHack.
|
|
#
|
|
# A Win32 native port built on the Windows API, Graphical NetHack or
|
|
# NetHackW.
|
|
#
|
|
# 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/windows/Install.windows file included
|
|
# with the distribution.
|
|
#==============================================================================
|
|
# DECISIONS SECTION
|
|
#
|
|
# Build Options Decisions
|
|
#
|
|
# There are currently 4 decisions that you can choose to make.
|
|
# None of the 4 decisions are absolutely required because defaults are in place:
|
|
# 1. Where do you want your build to end up?
|
|
# 2. Do you want debug information in the executable?
|
|
# 3. Do you want to explicitly override auto-detection of a 32-bit or 64-bit target?
|
|
# 4. Do you want to include any optional interfaces in the port?
|
|
# 4a) curses
|
|
# 4b) Qt
|
|
#
|
|
# Mandatory LUA source Location
|
|
#
|
|
# LUA source code or is required to build NetHack-3.7.
|
|
# LUATOP must point to the location of the LUA sources.
|
|
#
|
|
#-----------------------------------------------------------------------------------------
|
|
#=========================================================================================
|
|
|
|
#==============================================================================
|
|
#---------------------------------------------------------------
|
|
# 1. Where do you want the game to be built (which folder)?
|
|
# If not present prior to compilation it gets created.
|
|
#
|
|
|
|
GAMEDIR = ../binary
|
|
|
|
# 1. 32-bit or 64-bit?
|
|
#
|
|
|
|
#
|
|
#---------------------------------------------------------------
|
|
# 2. Do you want debug information in the executable?
|
|
#
|
|
|
|
DEBUGINFO = Y
|
|
|
|
#
|
|
#---------------------------------------------------------------
|
|
# 3. Do you want to explicitly override auto-detection of a 32-bit
|
|
# or 64-bit executable (save files do not interchange currently)?
|
|
#
|
|
# 64 bit
|
|
#TARGET_CPU=x64
|
|
#
|
|
# 32 bit
|
|
TARGET_CPU=x86
|
|
#
|
|
#
|
|
#---------------------------------------------------------------
|
|
# 4. Do you want additional GUI interfaces in the executable?
|
|
# Make these Y to enable the GUIs. Win32 is always enabled,
|
|
# and is the default.
|
|
#
|
|
|
|
#4a Curses window port support
|
|
#
|
|
#
|
|
# 4. 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=../lib/pdcurses
|
|
|
|
#4b Qt
|
|
#
|
|
#WANT_WIN_QT = N
|
|
|
|
# WANT_WIN_QT requires Qt 4 or Qt 5, see
|
|
# https://www.qt.io/download-open-source/
|
|
# Earlier versions of Qt are not compatible with Windows
|
|
# For Qt 5, use:
|
|
#
|
|
#QT_DIRECTORY = c:/Qt/Qt5.9.2/5.9.2/mingw53_32
|
|
#HAVE_QT5 = Y
|
|
|
|
# For Qt 4, comment out the above two lines and use:
|
|
#
|
|
#QT_DIRECTORY = c:/Qt/4.8.6
|
|
#HAVE_QT5 = N
|
|
|
|
#
|
|
# Note that additional GUI interfaces may require external libraries.
|
|
# Qt is placed where the official installer places it.
|
|
# Other libraries are placed in a subdirectory of your home directory, either
|
|
# x86libs or x64libs depending on whether you're building for 64 bits.
|
|
#
|
|
#---------------------------------------------------------------
|
|
ifndef LUA_VERSION
|
|
LUAVER=5.4.3
|
|
else
|
|
LUAVER=$(LUA_VERSION)
|
|
endif
|
|
#---------------------------------------------------------------
|
|
# Location of LUA
|
|
#
|
|
# Original source needs to be obtained from:
|
|
# http://www.lua.org/ftp/lua-5.4.3.tar.gz
|
|
#
|
|
# This build assumes that the LUA sources are located
|
|
# at the specified location. If they are actually elsewhere
|
|
# you'll need to specify the correct spot below in order to
|
|
# successfully build NetHack-3.7.
|
|
#
|
|
ifndef ADD_LUA
|
|
ADD_LUA=Y
|
|
LUATOP=../lib/lua-$(LUAVER)
|
|
WANT_LUAC=Y
|
|
endif
|
|
#
|
|
#==============================================================================
|
|
# This marks the end of the BUILD DECISIONS section.
|
|
#==============================================================================
|
|
#
|
|
#===============================================
|
|
#======= End of Modification Section ===========
|
|
#===============================================
|
|
#
|
|
################################################
|
|
# #
|
|
# Nothing below here should have to be changed.#
|
|
# #
|
|
################################################
|
|
#
|
|
#==============================================================================
|
|
|
|
SKIP_NETHACKW=Y
|
|
|
|
#==============================================================================
|
|
|
|
# The version of the game this Makefile was designed for
|
|
NETHACK_VERSION="3.7.0"
|
|
|
|
# A brief version for use in macros
|
|
NHV1=$(subst .,,$(NETHACK_VERSION))
|
|
NHV=$(subst ",,$(NHV1))
|
|
|
|
#
|
|
# Source directories. Makedefs hardcodes these, don't change them.
|
|
#
|
|
|
|
# INCL - NetHack include files
|
|
# DAT - NetHack data files
|
|
# DOC - NetHack documentation files
|
|
# UTIL - Utility source
|
|
# SRC - Main source
|
|
# SSYS - Shared system files
|
|
# MSWSYS - mswin specific files
|
|
# TTY - window port files (tty)
|
|
# MSWIN - window port files (win32)
|
|
# WCURSES - window port files (curses)
|
|
# WSHR - Tile support files
|
|
# QT - QT window support files
|
|
|
|
INCL =../include
|
|
DAT =../dat
|
|
DOC =../doc
|
|
UTIL =../util
|
|
SRC =../src
|
|
SSYS =../sys/share
|
|
MSWSYS =../sys/windows
|
|
TTY =../win/tty
|
|
MSWIN =../win/win32
|
|
WCURSES =../win/curses
|
|
WSHR =../win/share
|
|
QT =../win/Qt
|
|
|
|
#
|
|
# Object directory.
|
|
#
|
|
|
|
OBJ = o
|
|
|
|
#
|
|
# Optional high-quality BSD random number generation routines
|
|
# (see pcconf.h). Set to nothing if not used.
|
|
#
|
|
|
|
RANDOM = $(OBJ)/random.o
|
|
#RANDOM =
|
|
BCRYPT=-lbcrypt
|
|
|
|
WINPFLAG = -DTILES -DMSWIN_GRAPHICS -DWIN32CON -D_WIN32_IE=0x0400 -D_WIN32_WINNT=0x0601 -DWINVER=0x0601
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
WINPFLAG += -DQT_GRAPHICS -DPIXMAPDIR='"."'
|
|
endif
|
|
# To store all the level files,
|
|
# help files, etc. in a single library file.
|
|
# USE_DLB = Y is left uncommented
|
|
|
|
USE_DLB = Y
|
|
|
|
ifeq "$(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
|
|
|
|
# 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))
|
|
W_WCURSES =$(subst /,\, $(WCURSES))
|
|
W_WSHR =$(subst /,\, $(WSHR))
|
|
W_GAMEDIR =$(subst /,\, $(GAMEDIR))
|
|
|
|
#==========================================
|
|
#================ MACROS ==================
|
|
#==========================================
|
|
# This section creates shorthand macros for many objects
|
|
# referenced later on in the Makefile.
|
|
#
|
|
|
|
DEFFILE = $(MSWSYS)/$(GAME).def
|
|
|
|
#
|
|
# Shorten up the location for some files
|
|
#
|
|
|
|
O = $(OBJ)/
|
|
|
|
U = $(UTIL)/
|
|
|
|
#
|
|
# Utility Objects.
|
|
#
|
|
|
|
MAKEDEFSOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.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)monst.o $(O)objects.o
|
|
|
|
TEXT_IO32 = $(O)tilete32.o $(O)tiletx32.o $(O)drawing.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)insight.o $(O)invent.o $(O)isaac64.o
|
|
VOBJ10 = $(O)light.o $(O)lock.o $(O)mail.o $(O)makemon.o
|
|
VOBJ11 = $(O)mdlib.o $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o
|
|
VOBJ12 = $(O)minion.o $(O)mklev.o $(O)mkmap.o $(O)mkmaze.o
|
|
VOBJ13 = $(O)mkobj.o $(O)mkroom.o $(O)mon.o $(O)mondata.o
|
|
VOBJ14 = $(O)monmove.o $(O)monst.o $(O)mplayer.o $(O)mthrowu.o
|
|
VOBJ15 = $(O)muse.o $(O)music.o $(O)o_init.o $(O)objects.o
|
|
VOBJ16 = $(O)objnam.o $(O)options.o $(O)pager.o $(O)pickup.o
|
|
VOBJ17 = $(O)pline.o $(O)polyself.o $(O)potion.o $(O)pray.o
|
|
VOBJ18 = $(O)priest.o $(O)quest.o $(O)questpgr.o $(RANDOM)
|
|
VOBJ19 = $(O)read.o $(O)rect.o $(O)region.o $(O)restore.o
|
|
VOBJ20 = $(O)rip.o $(O)rnd.o $(O)role.o $(O)rumors.o
|
|
VOBJ21 = $(O)save.o $(O)sfstruct.o $(O)shk.o $(O)shknam.o
|
|
VOBJ22 = $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o
|
|
VOBJ23 = $(O)steal.o $(O)steed.o $(O)symbols.o $(O)sys.o
|
|
VOBJ24 = $(O)teleport.o $(O)timeout.o $(O)topten.o $(O)track.o
|
|
VOBJ25 = $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)vault.o
|
|
VOBJ26 = $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o
|
|
VOBJ27 = $(O)windows.o $(O)wizard.o $(O)worm.o $(O)worn.o
|
|
VOBJ28 = $(O)write.o $(O)zap.o
|
|
|
|
ifeq "$(ADD_LUA)" "Y"
|
|
LUAOBJ = $(O)nhlua.o $(O)nhlsel.o $(O)nhlobj.o
|
|
LUA_QTEXT_FILE = "quest.lua"
|
|
endif
|
|
|
|
DLBOBJ = $(O)dlb.o
|
|
|
|
REGEX = $(O)cppregex.o
|
|
|
|
TTYOBJ = $(O)topl.o $(O)getline.o $(O)wintty.o
|
|
|
|
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
|
|
|
|
SOBJ = $(O)windmain.o $(O)windsys.o $(O)win10.o \
|
|
$(O)safeproc.o $(O)nhlan.o $(SOUND)
|
|
|
|
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) $(REGEX) $(CURSESOBJ)
|
|
|
|
ifneq "$(SKIP_NETHACKW)" "Y"
|
|
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)NetHackW.o
|
|
|
|
endif
|
|
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
GUIOBJ += $(O)qt_bind.o $(O)qt_click.o $(O)qt_clust.o $(O)qt_delay.o \
|
|
$(O)qt_glyph.o $(O)qt_icon.o $(O)qt_inv.o $(O)qt_key.o $(O)qt_line.o \
|
|
$(O)qt_main.o $(O)qt_map.o $(O)qt_menu.o $(O)qt_msg.o $(O)qt_plsel.o \
|
|
$(O)qt_rip.o $(O)qt_set.o $(O)qt_stat.o $(O)qt_str.o $(O)qt_streq.o \
|
|
$(O)qt_svsel.o $(O)qt_win.o $(O)qt_xcmd.o $(O)qt_yndlg.o
|
|
endif
|
|
|
|
ifneq "$(SKIP_NETHACKW)" "Y"
|
|
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
|
|
endif
|
|
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
GUIHDR += $(QT)/qt_bind.h $(QT)/qt_click.h $(QT)/qt_clust.h \
|
|
$(QT)/qt_delay.h $(QT)/qt_glyph.h $(QT)/qt_icon.h $(QT)/qt_inv.h \
|
|
$(QT)/qt_kde0.h $(QT)/qt_key.h $(QT)/qt_line.h $(QT)/qt_main.h \
|
|
$(QT)/qt_map.h $(QT)/qt_menu.h $(QT)/qt_msg.h $(QT)/qt_plsel.h \
|
|
$(QT)/qt_rip.h $(QT)/qt_set.h $(QT)/qt_stat.h $(QT)/qt_str.h \
|
|
$(QT)/qt_streq.h $(QT)/qt_svsel.h $(QT)/qt_win.h $(QT)/qt_xcmd.h \
|
|
$(QT)/qt_yndlg.h
|
|
endif
|
|
|
|
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
|
|
#SOUND =
|
|
|
|
VVOBJ = $(O)version.o
|
|
|
|
ALLOBJ = $(SOBJ) $(DLBOBJ) $(WOBJ) $(OBJS) $(VVOBJ) $(LUAOBJ)
|
|
|
|
OPTIONS_FILE = $(DAT)\options
|
|
|
|
#===============-=================================================
|
|
# LUA library
|
|
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
|
|
#=================================================================
|
|
|
|
ifndef LUAVER
|
|
LUAVER = 5.4.3
|
|
endif
|
|
ifndef LUASRC
|
|
LUASRC = $(LUATOP)/src
|
|
endif
|
|
LUALIB = $(O)lua-$(LUAVER).static.a
|
|
LUADLL = $(O)lua-$(LUAVER).a
|
|
LUAINCL = -I$(LUASRC)
|
|
#LUAFLAGS = unix added -lm here?
|
|
ifeq "$(WANT_LUAC)" "Y"
|
|
LUATARGETS = lua.exe luac.exe $(LUADLL) $(LUALIB)
|
|
else
|
|
LUATARGETS = lua.exe $(LUADLL) $(LUALIB)
|
|
endif
|
|
|
|
LUASRCFILES = lapi.c lauxlib.c lbaselib.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
|
|
|
|
LUAOBJFILES = $(O)lapi.o $(O)lauxlib.o $(O)lbaselib.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 \
|
|
$(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 \
|
|
$(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
|
|
ifeq "$(LUAVER)" "5.3.5"
|
|
# 5.4.0 added header files ljumptab.h and lopnames.h and removes lbitlib.c
|
|
# so we have to tack those on for the previous version (5.3.5)
|
|
LUASRCFILES = $(LUASRCFILES) lbitlib.c
|
|
LUAOBJFILES = $(LUAOBJFILES) lbitlib.o
|
|
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
|
|
PDCWINCON = $(PDCURSES_TOP)/wincon
|
|
PDCLIBOBJS = $(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 $(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 $(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 $(O)touch.o $(O)util.o $(O)window.o $(O)debug.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$(PDCWINCON)
|
|
else
|
|
PDCLIB =
|
|
endif
|
|
|
|
#==========================================
|
|
# Header file macros
|
|
#==========================================
|
|
|
|
CONFIG_H = $(INCL)/config.h $(INCL)/patchlevel.h \
|
|
$(INCL)/config1.h $(INCL)/tradstdc.h \
|
|
$(INCL)/global.h $(INCL)/fnamesiz.h $(INCL)/coord.h \
|
|
$(INCL)/vmsconf.h $(INCL)/system.h $(INCL)/unixconf.h \
|
|
$(INCL)/micro.h $(INCL)/pcconf.h $(INCL)/windconf.h
|
|
|
|
HACK_H = $(INCL)/hack.h $(CONFIG_H) $(INCL)/align.h $(INCL)/context.h \
|
|
$(INCL)/dungeon.h $(INCL)/sym.h $(INCL)/defsym.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)/wintty.h $(INCL)/sys.h
|
|
|
|
DGN_FILE_H = $(INCL)/dgn_file.h
|
|
SP_LEV_H = $(INCL)/sp_lev.h
|
|
TILE_H = ../win/share/tile.h
|
|
|
|
#==========================================
|
|
# Miscellaneous
|
|
#==========================================
|
|
|
|
DATABASE = $(DAT)/data.base
|
|
|
|
#==========================================
|
|
# More compiler setup macros
|
|
#==========================================
|
|
#
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
CURSESDEF=-D"CURSES_GRAPHICS" -D"CURSES_BRIEF_INCLUDE"
|
|
else
|
|
CURSDEF=
|
|
CURSESLIB=
|
|
endif
|
|
|
|
INCLDIR=-I../include -I../sys/windows $(LUAINCL)
|
|
|
|
#==========================================
|
|
#==========================================
|
|
# Setting up the compiler and linker
|
|
# macros. All builds include the base ones.
|
|
#==========================================
|
|
#==========================================
|
|
|
|
ifndef TRAVIS_COMPILER
|
|
cc = i686-w64-mingw32-gcc.exe
|
|
cxx = g++
|
|
rc = windres
|
|
link = i686-w64-mingw32-gcc.exe
|
|
else
|
|
cc = gcc
|
|
cxx = g++
|
|
rc = windres
|
|
link = gcc
|
|
endif
|
|
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
link = g++
|
|
endif
|
|
|
|
cflags = -mms-bitfields $(INCLDIR)
|
|
lflags =
|
|
ifeq "$(DEBUGINFO)" "Y"
|
|
cdebug = -g
|
|
linkdebug = -g
|
|
else
|
|
cdebug =
|
|
linkdebug =
|
|
endif
|
|
|
|
CFLAGSBASE = -c $(cflags) $(WINPINC) $(cdebug) $(CURSESDEF)
|
|
#LFLAGSBASEC = $(linkdebug)
|
|
#LFLAGSBASEG = $(linkdebug) -mwindows
|
|
baselibs = -lwinmm -lshell32 -lole32 -luuid
|
|
conlibs = -lgdi32 $(baselibs) $(BCRYPT)
|
|
guilibs = -lcomctl32 $(baselibs) $(BCRYPT)
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
# Might be either Qt 4 or Qt 5
|
|
ifeq "$(HAVE_QT5)" "Y"
|
|
guilibs += $(QT_DIRECTORY)/lib/libQt5Core.a
|
|
guilibs += $(QT_DIRECTORY)/lib/libQt5Gui.a
|
|
guilibs += $(QT_DIRECTORY)/lib/libQt5Widgets.a
|
|
conlibs += $(QT_DIRECTORY)/lib/libQt5Core.a
|
|
else
|
|
guilibs += $(QT_DIRECTORY)/lib/libQtCore4.a
|
|
guilibs += $(QT_DIRECTORY)/lib/libQtGui4.a
|
|
conlibs += $(QT_DIRECTORY)/lib/libQtCore4.a
|
|
endif
|
|
endif
|
|
|
|
#==========================================
|
|
# Extra files needed for some ports
|
|
#==========================================
|
|
EXTRA_FILES =
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
ifeq "$(HAVE_QT5)" "Y"
|
|
EXTRA_FILES += $(GAMEDIR)/Qt5Core.dll
|
|
EXTRA_FILES += $(GAMEDIR)/Qt5Gui.dll
|
|
EXTRA_FILES += $(GAMEDIR)/Qt5Widgets.dll
|
|
else
|
|
# TODO: define QT 4 DLLs here
|
|
EXTRA_FILES += $(GAMEDIR)/QtCore4.dll
|
|
EXTRA_FILES += $(GAMEDIR)/QtGui4.dll
|
|
endif
|
|
EXTRA_FILES += $(GAMEDIR)/rip.xpm
|
|
endif
|
|
|
|
#==========================================
|
|
# Util builds
|
|
#==========================================
|
|
|
|
CFLAGSU = $(CFLAGSBASE) $(WINPFLAG) $(DLBFLG)
|
|
LFLAGSU = $(LFLAGSBASEC)
|
|
|
|
#==========================================
|
|
# - Game build
|
|
#==========================================
|
|
|
|
CFLAGS = $(CFLAGSBASE) $(WINPFLAG) $(DLBFLG) -DSAFEPROCS
|
|
lflags = $(LFLAGSBASEC) $(linkdebuf)
|
|
|
|
CXXFLAGS = $(CFLAGS)
|
|
|
|
ifeq "$(USE_DLB)" "Y"
|
|
DLB = nhdat$(NHV)
|
|
else
|
|
DLB =
|
|
endif
|
|
|
|
#==========================================
|
|
#================ RULES ==================
|
|
#==========================================
|
|
|
|
.SUFFIXES: .exe .o .til .uu .c .y .l .moc
|
|
|
|
#==========================================
|
|
# 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 : $(SSYS)/%.c
|
|
$(cc) $(CFLAGS) -o$@ $<
|
|
|
|
$(OBJ)/%.o : $(SSYS)/%.cpp
|
|
$(cxx) $(CXXFLAGS) -std=c++11 -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in sys/windows
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(MSWSYS)/%.c
|
|
$(cc) $(CFLAGS) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in util
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(UTIL)/%.c
|
|
$(cc) $(CFLAGSU) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in win/share
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(WSHR)/%.c
|
|
$(cc) $(CFLAGS) -o$@ $<
|
|
|
|
#$(INCL)/%.h : $(WSHR)/%.h
|
|
# @copy $< $@
|
|
|
|
#{$(WSHR)}.txt{$(DAT)}.txt:
|
|
# @copy $< $@
|
|
|
|
#==========================================
|
|
# Rules for files in win/tty
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(TTY)/%.c
|
|
$(cc) $(CFLAGS) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in win/win32
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(MSWIN)/%.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 : $(PDCWINCON)/%.c
|
|
$(cc) $(PDCINCL) $(CFLAGS) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for LUA files
|
|
#==========================================
|
|
|
|
$(OBJ)/%.o : $(LUASRC)/%.c
|
|
$(cc) $(CFLAGS) -o$@ $<
|
|
|
|
#==========================================
|
|
# Rules for files in win/Qt
|
|
#==========================================
|
|
|
|
ifeq "$(HAVE_QT5)" "Y"
|
|
QT_CXXFLAGS = -std=c++11
|
|
else
|
|
QT_CXXFLAGS =
|
|
endif
|
|
$(OBJ)/%.o : $(QT)/%.cpp
|
|
$(cxx) $(CXXFLAGS) $(QT_CXXFLAGS) -I$(MSWIN) -I$(QT_DIRECTORY)/include -o$@ $<
|
|
|
|
$(QT)/%.moc : $(QT)/%.h
|
|
$(QT_DIRECTORY)\bin\moc -o $@ $<
|
|
|
|
ifeq "$(SKIP_NETHACKW)" "Y"
|
|
NETHACKW_EXE =
|
|
else
|
|
NETHACKW_EXE = $(GAMEDIR)/NetHackW.exe
|
|
endif
|
|
|
|
SHELL=CMD.EXE
|
|
|
|
#==========================================
|
|
#=============== TARGETS ==================
|
|
#==========================================
|
|
|
|
# Since DOS doesn't allow / as path separator, and GCC doesn't allow \ as
|
|
# path separator, we must change all pathnames when performing DOS commands.
|
|
# This is done by blindly applying $(subst /,\, ...) on every command.
|
|
# Where any command contain / for another reason (switch char, a little
|
|
# more care is taken.
|
|
|
|
#
|
|
# The default make target (so just typing 'nmake' is useful).
|
|
#
|
|
default : install
|
|
|
|
#
|
|
# Everything
|
|
#
|
|
|
|
all : install
|
|
|
|
install: $(INCL)/nhlua.h initialchk $(O)utility.tag $(GAMEDIR)/NetHack.exe $(NETHACKW_EXE) \
|
|
$(O)install.tag $(EXTRA_FILES)
|
|
@echo NetHack is up to date.
|
|
@echo Done.
|
|
|
|
$(O)install.tag: $(DAT)/data $(DAT)/rumors $(DAT)/oracles \
|
|
$(O)sp_lev.tag $(DLB)
|
|
ifdef TRAVIS_COMPILER
|
|
ls -l $(SRC)
|
|
ls -l $(DAT)
|
|
ls -l $(UTIL)
|
|
endif
|
|
ifeq "$(USE_DLB)" "Y"
|
|
$(subst /,\,copy nhdat$(NHV) $(GAMEDIR))
|
|
$(subst /,\,copy $(DAT)/license $(GAMEDIR))
|
|
$(subst /,\,copy $(DAT)/opthelp $(GAMEDIR))
|
|
else
|
|
$(subst /,\,copy $(DAT)/*. $(GAMEDIR))
|
|
$(subst /,\,copy $(DAT)/*.dat $(GAMEDIR))
|
|
# $(subst /,\,copy $(DAT)/*.lua $(GAMEDIR))
|
|
$(subst /,\,if exist $(GAMEDIR)/makefile del $(GAMEDIR)/makefile)
|
|
endif
|
|
$(subst /,\,if exist $(MSWSYS)/sysconf.template copy $(MSWSYS)/sysconf.template $(GAMEDIR))
|
|
$(subst /,\,if exist $(DAT)/symbols copy $(DAT)/symbols $(GAMEDIR)/symbols.template)
|
|
$(subst /,\,if exist $(DOC)/guidebook.txt copy $(DOC)/guidebook.txt $(GAMEDIR)/Guidebook.txt)
|
|
$(subst /,\,if exist $(DOC)/nethack.txt copy $(DOC)/nethack.txt $(GAMEDIR)/NetHack.txt)
|
|
$(subst /,\,if exist $(MSWSYS)/.nethackrc.template copy $(MSWSYS)/.nethackrc.template $(GAMEDIR))
|
|
$(subst /,\,-if not exist $(GAMEDIR)/record. echo.>$(GAMEDIR)/record.)
|
|
#
|
|
#
|
|
$(subst /,\,echo install done > $@)
|
|
|
|
# copy $(MSWSYS)/windsys.hlp $(GAMEDIR)
|
|
|
|
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)/recover.txt)
|
|
|
|
$(O)sp_lev.tag: $(O)utility.tag
|
|
$(subst /,\,echo sp_levs done > $(O)sp_lev.tag)
|
|
|
|
$(O)utility.tag: $(INCL)/date.h $(INCL)/onames.h $(INCL)/pm.h \
|
|
$(TILEUTIL16)
|
|
$(subst /,\,@echo utilities made >$@)
|
|
@echo utilities made.
|
|
|
|
$(INCL)/nhlua.h:
|
|
echo /* nhlua.h - generated by top Makefile */ > $@
|
|
@echo #include "$(LUASRC)/lua.h" >> $@
|
|
@echo LUA_API int (lua_error) (lua_State *L) NORETURN; >>$@
|
|
@echo #include "$(LUASRC)/lualib.h" >> $@
|
|
@echo #include "$(LUASRC)/lauxlib.h" >> $@
|
|
@echo /*nhlua.h*/ >> $@
|
|
|
|
tileutil: $(U)gif2txt.exe $(U)gif2tx32.exe $(U)txt2ppm.exe
|
|
@echo Optional tile development utilities are up to date.
|
|
|
|
$(O)winres.o: $(TILEBMP16) $(MSWIN)/NetHackW.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) -o$@ --include-dir $(MSWIN) -i $(MSWIN)/NetHackW.rc
|
|
|
|
$(O)conres.o: $(MSWSYS)/console.rc $(MSWSYS)/NetHack.ico
|
|
$(rc) -o$@ --include-dir $(MSWSYS) -i $(MSWSYS)/console.rc
|
|
|
|
#==========================================
|
|
# The game targets.
|
|
#==========================================
|
|
|
|
gamedir.tag:
|
|
test -d $(GAMEDIR) || echo creating directory $(W_GAMEDIR)
|
|
test -d $(GAMEDIR) || mkdir $(W_GAMEDIR)
|
|
test -d $(GAMEDIR) && echo directory created > $@
|
|
|
|
$(GAMEDIR)/NetHack.exe : gamedir.tag $(PDCLIB) $(O)tile.o $(O)consoletty.o $(O)guistub.o \
|
|
$(ALLOBJ) $(TTYOBJ) $(GUIOBJ) $(O)conres.o $(KEYDLLS) \
|
|
$(LUATARGETS)
|
|
@echo Linking $@...
|
|
$(link) $(lflags) -o$@ $(ALLOBJ) $(TTYOBJ) $(O)consoletty.o $(O)tile.o \
|
|
$(O)guistub.o $(O)conres.o $(PDCLIB) $(LUALIB) $(conlibs) -static -lstdc++
|
|
$(subst /,\,@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)consoletty.o
|
|
# otherwise:
|
|
# libs: $(LIBS) $(guilibs) $(COMCTRL)
|
|
# objs: $(GAMEOBJ) $(GUIOBJ) $(O)tile.o $(O)ttystub.o
|
|
|
|
ifneq "$(SKIP_NETHACKW)" "Y"
|
|
$(GAMEDIR)/NetHackW.exe : gamedir.tag $(PDCLIB) $(O)tile.o $(O)ttystub.o \
|
|
$(ALLOBJ) $(TTYOBJ) $(GUIOBJ) $(O)winres.o $(KEYDLLS) \
|
|
$(LUATARGETS)
|
|
@echo Linking $@...
|
|
$(link) $(lflags) -mwindows -o$@ $(ALLOBJ) $(GUIOBJ) $(O)tile.o $(O)ttystub.o \
|
|
$(O)winres.o $(PDCLIB) $(guilibs) $(LUALIB) -static -lstdc++
|
|
$(subst /,\,@if exist $(O)install.tag del $(O)install.tag)
|
|
endif
|
|
|
|
$(O)nhdefkey.o:
|
|
$(cc) $(CFLAGS) -DBUILD_DLL -o$@ $(MSWSYS)/nhdefkey.c
|
|
|
|
$(GAMEDIR)/nhdefkey.dll : $(O)nhdefkey.o gamedir.tag
|
|
@echo Linking $@
|
|
$(cc) -shared -Wl,--export-all-symbols \
|
|
-Wl,--add-stdcall-alias -o $@ $<
|
|
|
|
$(O)nh340key.o:
|
|
$(cc) $(CFLAGS) -DBUILD_DLL -o$@ $(MSWSYS)/nh340key.c
|
|
|
|
$(GAMEDIR)/nh340key.dll : $(O)nh340key.o gamedir.tag
|
|
@echo Linking $@
|
|
$(cc) -shared -Wl,--export-all-symbols \
|
|
-Wl,--add-stdcall-alias -o $@ $<
|
|
|
|
$(O)nhraykey.o:
|
|
$(cc) $(CFLAGS) -DBUILD_DLL -o$@ $(MSWSYS)/nhraykey.c
|
|
|
|
$(GAMEDIR)/nhraykey.dll : $(O)nhraykey.o gamedir.tag
|
|
@echo Linking $@
|
|
$(cc) -shared -Wl,--export-all-symbols \
|
|
-Wl,--add-stdcall-alias -o $@ $<
|
|
|
|
$(GAME)_.ico : $(MSWSYS)/$(GAME).ico
|
|
$(subst /,\,@copy $(MSWSYS)/$(GAME).ico $@)
|
|
|
|
#==========================================
|
|
# Create directory for holding object files
|
|
#==========================================
|
|
|
|
initialchk: objdir.tag
|
|
@echo ----
|
|
@echo NOTE: This build will include tile support.
|
|
@echo ----
|
|
|
|
objdir.tag:
|
|
@test -d $(OBJ) || echo creating directory $(OBJ)
|
|
@test -d $(OBJ) || mkdir $(OBJ)
|
|
@test -d $(OBJ) && echo directory created > $@
|
|
|
|
#==========================================
|
|
#=========== SECONDARY TARGETS ============
|
|
#==========================================
|
|
|
|
#==========================================
|
|
# Makedefs Stuff
|
|
#==========================================
|
|
|
|
$(U)makedefs.exe: $(MAKEDEFSOBJS)
|
|
$(link) $(LFLAGSU) -o$@ $(MAKEDEFSOBJS)
|
|
|
|
$(O)makedefs.o: $(CONFIG_H) $(INCL)/monattk.h $(INCL)/monflag.h \
|
|
$(INCL)/objclass.h $(INCL)/sym.h $(INCL)/defsym.h \
|
|
$(U)makedefs.c $(SRC)\mdlib.c
|
|
$(cc) $(CFLAGSU) -o$@ $(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
|
|
$(subst /,\,$(U)makedefs -v)
|
|
|
|
$(INCL)/onames.h : $(U)makedefs.exe
|
|
$(subst /,\,$(U)makedefs -o)
|
|
|
|
$(INCL)/pm.h : $(U)makedefs.exe
|
|
$(subst /,\,$(U)makedefs -p)
|
|
|
|
$(DAT)/data: $(O)utility.tag $(DATABASE)
|
|
$(subst /,\,$(U)makedefs -d)
|
|
|
|
$(DAT)/rumors: $(O)utility.tag $(DAT)/rumors.tru $(DAT)/rumors.fal
|
|
$(subst /,\,$(U)makedefs -r)
|
|
|
|
$(DAT)/oracles: $(O)utility.tag $(DAT)/oracles.txt
|
|
$(subst /,\,$(U)makedefs -h)
|
|
|
|
$(DAT)/engrave: $(DAT)/engrave.txt $(U)makedefs.exe
|
|
$(subst /,\,$(U)makedefs -s)
|
|
|
|
$(DAT)/epitaph: $(DAT)/epitaph.txt $(U)makedefs.exe
|
|
$(subst /,\,$(U)makedefs -s)
|
|
|
|
$(DAT)/bogusmon: $(DAT)/bogusmon.txt $(U)makedefs.exe
|
|
$(subst /,\,$(U)makedefs -s)
|
|
|
|
#==========================================
|
|
# uudecode utility and uuencoded targets
|
|
#==========================================
|
|
|
|
$(U)uudecode.exe: $(O)uudecode.o
|
|
$(link) $(LFLAGSU) -o$@ $(O)uudecode.o
|
|
|
|
$(O)uudecode.o: $(SSYS)/uudecode.c
|
|
|
|
$(MSWSYS)/NetHack.ico : $(U)uudecode.exe $(MSWSYS)/nhico.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWSYS)/nhico.uu)
|
|
copy NetHack.ico $(W_MSWSYS)\NetHack.ico
|
|
del NetHack.ico
|
|
|
|
$(MSWIN)/NetHack.ico : $(MSWSYS)/NetHack.ico
|
|
$(subst /,\,copy $< $@)
|
|
|
|
$(MSWIN)/mnsel.bmp: $(U)uudecode.exe $(MSWIN)/mnsel.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/mnsel.uu)
|
|
$(subst /,\,copy mnsel.bmp $@)
|
|
del mnsel.bmp
|
|
|
|
$(MSWIN)/mnselcnt.bmp: $(U)uudecode.exe $(MSWIN)/mnselcnt.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/mnselcnt.uu)
|
|
$(subst /,\,copy mnselcnt.bmp $@)
|
|
del mnselcnt.bmp
|
|
|
|
$(MSWIN)/mnunsel.bmp: $(U)uudecode.exe $(MSWIN)/mnunsel.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/mnunsel.uu)
|
|
$(subst /,\,copy mnunsel.bmp $@)
|
|
del mnunsel.bmp
|
|
|
|
$(MSWIN)/petmark.bmp: $(U)uudecode.exe $(MSWIN)/petmark.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/petmark.uu)
|
|
$(subst /,\,copy petmark.bmp $@)
|
|
del petmark.bmp
|
|
|
|
$(MSWIN)/pilemark.bmp: $(U)uudecode.exe $(MSWIN)/pilemark.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/pilemark.uu)
|
|
$(subst /,\,copy pilemark.bmp $@)
|
|
del pilemark.bmp
|
|
|
|
$(MSWIN)/rip.bmp: $(U)uudecode.exe $(MSWIN)/rip.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/rip.uu)
|
|
$(subst /,\,copy rip.bmp $@)
|
|
del rip.bmp
|
|
|
|
$(MSWIN)/splash.bmp: $(U)uudecode.exe $(MSWIN)/splash.uu
|
|
$(subst /,\,$(U)uudecode.exe $(MSWIN)/splash.uu)
|
|
$(subst /,\,copy splash.bmp $@)
|
|
del splash.bmp
|
|
|
|
#=================================================
|
|
# For a couple of devteam utilities
|
|
#=================================================
|
|
|
|
$(U)nhsizes.exe: $(O)nhsizes.o
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(O)nhsizes.o $(O)panic.o $(O)alloc.o$(U)nhsizes.exe: $(O)nhsizes.o
|
|
|
|
$(U)nhsize2.exe: $(O)nhsizes2.o
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(O)nhsizes2.o $(O)panic.o $(O)alloc.o
|
|
|
|
$(O)nhsizes.o: $(CONFIG_H) nhsizes.c
|
|
$(cc) $(CFLAGSU) -o$@ nhsizes.c
|
|
|
|
$(O)nhsizes2.o: $(CONFIG_H) nhsizes2.c
|
|
$(cc) $(CFLAGSU) -o$@ nhsizes2.c
|
|
|
|
#==========================================
|
|
# Create directory for holding object files
|
|
#==========================================
|
|
|
|
|
|
#==========================================
|
|
# DLB utility and nhdat file creation
|
|
#==========================================
|
|
|
|
$(U)dlb_main.exe: $(DLBOBJ) $(O)dlb.o
|
|
$(link) $(LFLAGSU) -o$@ $(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) $(CFLAGS) -o$@ $(SRC)/dlb.c
|
|
|
|
$(O)dlb_main.o: $(UTIL)/dlb_main.c $(INCL)/config.h $(INCL)/dlb.h
|
|
$(cc) $(CFLAGS) -o$@ $(UTIL)/dlb_main.c
|
|
|
|
$(DAT)/porthelp: $(MSWSYS)/porthelp
|
|
$(subst /,\,@copy $(MSWSYS)/porthelp $@ >nul)
|
|
|
|
nhdat$(NHV): $(U)dlb_main.exe $(DAT)/data $(DAT)/oracles $(OPTIONS_FILE) \
|
|
$(DAT)/rumors $(DAT)/help $(DAT)/hh $(DAT)/cmdhelp $(DAT)/keyhelp \
|
|
$(DAT)/history $(DAT)/opthelp $(DAT)/wizhelp \
|
|
$(DAT)/porthelp $(DAT)/license $(DAT)/engrave \
|
|
$(DAT)/epitaph $(DAT)/bogusmon $(DAT)/tribute $(O)sp_lev.tag
|
|
$(subst /,\,echo data >$(DAT)/dlb.lst)
|
|
$(subst /,\,echo oracles >>$(DAT)/dlb.lst)
|
|
$(subst /,\,if exist $(DAT)/options echo options >>$(DAT)/dlb.lst)
|
|
$(subst /,\,if exist $(DAT)/ttyoptions echo ttyoptions >>$(DAT)/dlb.lst)
|
|
$(subst /,\,if exist $(DAT)/guioptions echo guioptions >>$(DAT)/dlb.lst)
|
|
$(subst /,\,if exist $(DAT)/porthelp echo porthelp >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo rumors >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo help >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo hh >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo cmdhelp >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo keyhelp >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo history >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo opthelp >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo wizhelp >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo license >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo engrave >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo epitaph >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo bogusmon >>$(DAT)/dlb.lst)
|
|
$(subst /,\,echo tribute >>$(DAT)/dlb.lst)
|
|
dir /l /b /-p $(subst /,\,$(DAT)/*.lua >>$(DAT)/dlb.lst)
|
|
$(subst /,\,$(U)dlb_main CcIf $(DAT) dlb.lst $(SRC)/nhdat)
|
|
|
|
#==========================================
|
|
# Recover Utility
|
|
#==========================================
|
|
|
|
$(U)recover.exe: $(RECOVOBJS)
|
|
$(link) $(LFLAGSU) -o$@ $(RECOVOBJS)
|
|
|
|
$(O)recover.o: $(CONFIG_H) $(U)recover.c $(MSWSYS)/win32api.h
|
|
$(cc) $(CFLAGSU) -o$@ $(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
|
|
$(link) $(LFLAGSU) -o$@ $(O)tilemap.o
|
|
|
|
$(O)tilemap.o: $(WSHR)/tilemap.c $(HACK_H)
|
|
$(cc) $(CFLAGSU) -o$@ $(WSHR)/tilemap.c
|
|
|
|
$(O)tiletx32.o: $(WSHR)/tilemap.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -DTILETEXT -DTILE_X=32 -DTILE_Y=32 -o$@ $(WSHR)/tilemap.c
|
|
|
|
$(O)tiletxt.o: $(WSHR)/tilemap.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -DTILETEXT -o$@ $(WSHR)/tilemap.c
|
|
|
|
$(O)gifread.o: $(WSHR)/gifread.c $(CONFIG_H) $(TILE_H)
|
|
$(cc) $(CFLAGS) -I$(WSHR) -o$@ $(WSHR)/gifread.c
|
|
|
|
$(O)gifrd32.o: $(WSHR)/gifread.c $(CONFIG_H) $(TILE_H)
|
|
$(cc) $(CFLAGS) -I$(WSHR) -DTILE_X=32 -DTILE_Y=32 -o$@ $(WSHR)/gifread.c
|
|
|
|
$(O)ppmwrite.o: $(WSHR)/ppmwrite.c $(CONFIG_H) $(TILE_H)
|
|
$(cc) $(CFLAGS) -I$(WSHR) -o$@ $(WSHR)/ppmwrite.c
|
|
|
|
$(O)tiletext.o: $(WSHR)/tiletext.c $(CONFIG_H) $(TILE_H)
|
|
$(cc) $(CFLAGS) -I$(WSHR) -o$@ $(WSHR)/tiletext.c
|
|
|
|
$(O)tilete32.o: $(WSHR)/tiletext.c $(CONFIG_H) $(TILE_H)
|
|
$(cc) $(CFLAGS) -I$(WSHR) -DTILE_X=32 -DTILE_Y=32 -o$@ $(WSHR)/tiletext.c
|
|
|
|
#==========================================
|
|
# Optional Tile Utilities
|
|
#==========================================
|
|
|
|
$(U)gif2txt.exe: $(GIFREADERS) $(TEXT_IO)
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(GIFREADERS) $(TEXT_IO)
|
|
|
|
$(U)gif2tx32.exe: $(GIFREADERS32) $(TEXT_IO32)
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(GIFREADERS32) $(TEXT_IO32)
|
|
|
|
|
|
$(U)txt2ppm.exe: $(PPMWRITERS) $(TEXT_IO)
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(PPMWRITERS) $(TEXT_IO)
|
|
|
|
|
|
$(TILEBMP16): $(TILEUTIL16) $(TILEFILES)
|
|
@echo Creating 16x16 binary tile files which may take some time
|
|
$(subst /,\,@$(U)tile2bmp $(TILEBMP16))
|
|
|
|
#$(TILEBMP32): $(TILEUTIL32) $(TILEFILES32)
|
|
# @echo Creating 32x32 binary tile files which may take some time
|
|
# $(subst /,\,@$(U)til2bm32 $(TILEBMP32))
|
|
|
|
$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXT_IO)
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(O)tile2bmp.o $(TEXT_IO)
|
|
|
|
$(U)til2bm32.exe: $(O)til2bm32.o $(TEXT_IO32)
|
|
@echo Linking $@...
|
|
$(link) $(LFLAGSU) -o$@ $(O)til2bm32.o $(TEXT_IO32)
|
|
|
|
$(O)tile2bmp.o: $(WSHR)/tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)/win32api.h
|
|
$(cc) $(CFLAGS) -mno-ms-bitfields -I$(WSHR) -o$@ $(WSHR)/tile2bmp.c
|
|
|
|
$(O)til2bm32.o: $(WSHR)/til2bm32.c $(HACK_H) $(TILE_H) $(MSWSYS)/win32api.h
|
|
$(cc) $(CFLAGS) -I$(WSHR) -DTILE_X=32 -DTILE_Y=32 -o$@ $(WSHR)/til2bm32.c
|
|
|
|
#==========================================
|
|
# PDCurses Library
|
|
#==========================================
|
|
|
|
$(O)pdcurses.a : $(PDCLIBOBJS) $(PDCOBJS)
|
|
ar rcs $@ $(PDCLIBOBJS) $(PDCOBJS)
|
|
|
|
|
|
#=============================================================
|
|
# LUA
|
|
#=============================================================
|
|
|
|
lua.exe: $(O)lua.o $(LUALIB)
|
|
$(link) $(LFLAGSU) -o$@ $(O)lua.o $(LUALIB)
|
|
|
|
luac.exe: $(O)luac.o $(LUALIB)
|
|
$(link) $(LFLAGSU) -o$@ $(O)luac.o $(LUALIB)
|
|
|
|
$(LUADLL): $(LUAOBJFILES)
|
|
$(cc) -shared -Wl,--export-all-symbols \
|
|
-Wl,--add-stdcall-alias -o $@ $(LUAOBJSFILES)
|
|
|
|
$(LUALIB): $(LUAOBJFILES)
|
|
ar rcs $@ $(LUAOBJFILES)
|
|
|
|
$(O)lua.o: $(LUASRC)/lua.c
|
|
$(O)luac.o: $(LUASRC)/luac.c
|
|
|
|
#==========================================
|
|
# Housekeeping
|
|
#==========================================
|
|
|
|
spotless: clean
|
|
if exist o\* del /Q o\*
|
|
-test -d o && rd o
|
|
if exist objdir.tag del objdir.tag
|
|
if exist gamedir.tag del gamedir.tag
|
|
ifneq "$(W_GAMEDIR)" ""
|
|
if exist $(W_GAMEDIR)\NetHack.exe del $(W_GAMEDIR)\NetHack.exe
|
|
if exist $(W_GAMEDIR)\nhdefkey.dll del $(W_GAMEDIR)\nhdefkey.dll
|
|
if exist $(W_GAMEDIR)\nh340key.dll del $(W_GAMEDIR)\nh340key.dll
|
|
if exist $(W_GAMEDIR)\nhraykey.dll del $(W_GAMEDIR)\nhraykey.dll
|
|
if exist $(W_GAMEDIR)\NetHack.exe del $(W_GAMEDIR)\NetHack.exe
|
|
if exist $(W_GAMEDIR)\NetHack.pdb del $(W_GAMEDIR)\NetHack.pdb
|
|
if exist $(W_GAMEDIR)\nhdat$(NHV) del $(W_GAMEDIR)\nhdat$(NHV)
|
|
endif
|
|
ifneq "$(W_SRC)" ""
|
|
if exist $(W_SRC)\tile.c del $(W_SRC)\tile.c
|
|
if exist $(W_SRC)\nhdat$(NHV). del $(W_SRC)\nhdat$(NHV).
|
|
endif
|
|
ifneq "$(W_DAT)" ""
|
|
if exist $(W_DAT)\data del $(W_DAT)\data
|
|
if exist $(W_DAT)\rumors del $(W_DAT)\rumors
|
|
if exist $(W_DAT)\engrave del $(W_DAT)\engrave
|
|
if exist $(W_DAT)\epitaph del $(W_DAT)\epitaph
|
|
if exist $(W_DAT)\bogusmon del $(W_DAT)\bogusmon
|
|
if exist $(W_DAT)\oracles del $(W_DAT)\oracles
|
|
if exist $(W_DAT)\rumors del $(W_DAT)\rumors
|
|
if exist $(W_DAT)\data del $(W_DAT)\data
|
|
if exist $(W_DAT)\options del $(W_DAT)\options
|
|
if exist $(W_DAT)\ttyoptions del $(W_DAT)\ttyoptions
|
|
if exist $(W_DAT)\guioptions del $(W_DAT)\guioptions
|
|
if exist $(W_DAT)\dlb.lst del $(W_DAT)\dlb.lst
|
|
if exist $(W_DAT)\porthelp del $(W_DAT)\porthelp
|
|
endif
|
|
ifneq "$(W_OBJ)" ""
|
|
if exist $(W_OBJ)\sp_lev.tag del $(W_OBJ)\sp_lev.tag
|
|
if exist $(W_OBJ)\obj.tag del $(W_OBJ)\obj.tag
|
|
if exist $(W_OBJ)\gamedir.tag del $(W_OBJ)\gamedir.tag
|
|
if exist $(W_OBJ)\nh*key.lib del $(W_OBJ)\nh*key.lib
|
|
if exist $(W_OBJ)\nh*key.exp del $(W_OBJ)\nh*key.exp
|
|
endif
|
|
ifneq "$(W_MSWIN)" ""
|
|
if exist $(W_MSWIN)\mnsel.bmp del $(W_MSWIN)\mnsel.bmp
|
|
if exist $(W_MSWIN)\mnselcnt.bmp del $(W_MSWIN)\mnselcnt.bmp
|
|
if exist $(W_MSWIN)\mnunsel.bmp del $(W_MSWIN)\mnunsel.bmp
|
|
if exist $(W_MSWIN)\petmark.bmp del $(W_MSWIN)\petmark.bmp
|
|
if exist $(W_MSWIN)\pilemark.bmp del $(W_MSWIN)\pilemark.bmp
|
|
if exist $(W_MSWIN)\rip.bmp del $(W_MSWIN)\rip.bmp
|
|
if exist $(W_MSWIN)\splash.bmp del $(W_MSWIN)\splash.bmp
|
|
if exist $(W_MSWIN)\nethack.ico del $(W_MSWIN)\nethack.ico
|
|
endif
|
|
ifneq "$(W_MSWSYS)" ""
|
|
if exist $(W_MSWSYS)\nethack.ico del $(W_MSWSYS)\nethack.ico
|
|
endif
|
|
ifneq "$(W_UTIL)" ""
|
|
if exist $(W_UTIL)\*.lnk del $(W_UTIL)\*.lnk
|
|
if exist $(W_UTIL)\*.map del $(W_UTIL)\*.map
|
|
if exist $(W_UTIL)\recover.exe del $(W_UTIL)\recover.exe
|
|
if exist $(W_UTIL)\tile2bmp.exe del $(W_UTIL)\tile2bmp.exe
|
|
if exist $(W_UTIL)\tilemap.exe del $(W_UTIL)\tilemap.exe
|
|
if exist $(W_UTIL)\uudecode.exe del $(W_UTIL)\uudecode.exe
|
|
if exist $(W_UTIL)\dlb_main.exe del $(W_UTIL)\dlb_main.exe
|
|
endif
|
|
ifneq "$(W_INCL)" ""
|
|
if exist $(W_INCL)\date.h del $(W_INCL)\date.h
|
|
if exist $(W_INCL)\onames.h del $(W_INCL)\onames.h
|
|
if exist $(W_INCL)\pm.h del $(W_INCL)\pm.h
|
|
endif
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
ifneq "$(W_OBJ)" ""
|
|
if exist $(W_OBJ)\pdcurses.lib del $(W_OBJ)\pdcurses.lib
|
|
endif
|
|
endif
|
|
if exist $(W_GAMEDIR)\license. del $(W_GAMEDIR)\license.
|
|
if exist $(W_GAMEDIR)\nh340key.dll del $(W_GAMEDIR)\nh340key.dll
|
|
if exist $(W_GAMEDIR)\nhdefkey.dll del $(W_GAMEDIR)\nhdefkey.dll
|
|
if exist $(W_GAMEDIR)\nhraykey.dll del $(W_GAMEDIR)\nhraykey.dll
|
|
-test -d ..\binary && rd ..\binary
|
|
|
|
clean:
|
|
if exist initialchk del initialchk
|
|
if exist $(W_INCL)\nhlua.h del $(W_INCL)\nhlua.h
|
|
if exist $(W_OBJ)\install.tag del $(W_OBJ)\install.tag
|
|
if exist $(W_UTIL)utility.tag del $(W_UTIL)\utility.tag
|
|
ifneq "$(W_UTIL)" ""
|
|
if exist $(W_UTIL)\makedefs.exe del $(W_UTIL)\makedefs.exe
|
|
endif
|
|
ifneq "$(W_SRC)" ""
|
|
if exist $(W_SRC)\*.lnk del $(W_SRC)\*.lnk
|
|
if exist $(W_SRC)\*.map del $(W_SRC)\*.map
|
|
endif
|
|
ifneq "$(W_OBJ)" ""
|
|
if exist $(W_OBJ)\*.o del $(W_OBJ)\*.o
|
|
if exist $(W_OBJ)\utility.tag del $(W_OBJ)\utility.tag
|
|
if exist $(W_OBJ)\install.tag del $(W_OBJ)\install.tag
|
|
if exist $(W_OBJ)\console.res del $(W_OBJ)\console.res
|
|
if exist $(W_OBJ)\dlb_main.MAP del $(W_OBJ)\dlb_main.MAP
|
|
if exist $(W_OBJ)\dlb_main.PDB del $(W_OBJ)\dlb_main.PDB
|
|
if exist $(W_OBJ)\gamedir.tag del $(W_OBJ)\gamedir.tag
|
|
if exist $(W_OBJ)\makedefs.MAP del $(W_OBJ)\makedefs.MAP
|
|
if exist $(W_OBJ)\makedefs.PDB del $(W_OBJ)\makedefs.PDB
|
|
if exist $(W_OBJ)\NetHack.MAP del $(W_OBJ)\NetHack.MAP
|
|
if exist $(W_OBJ)\nh340key.def del $(W_OBJ)\nh340key.def
|
|
if exist $(W_OBJ)\nh340key.exp del $(W_OBJ)\nh340key.exp
|
|
if exist $(W_OBJ)\nh340key.lib del $(W_OBJ)\nh340key.lib
|
|
if exist $(W_OBJ)\nh340key.map del $(W_OBJ)\nh340key.map
|
|
if exist $(W_OBJ)\nh340key.PDB del $(W_OBJ)\nh340key.PDB
|
|
if exist $(W_OBJ)\nhdefkey.def del $(W_OBJ)\nhdefkey.def
|
|
if exist $(W_OBJ)\nhdefkey.exp del $(W_OBJ)\nhdefkey.exp
|
|
if exist $(W_OBJ)\nhdefkey.lib del $(W_OBJ)\nhdefkey.lib
|
|
if exist $(W_OBJ)\nhdefkey.map del $(W_OBJ)\nhdefkey.map
|
|
if exist $(W_OBJ)\nhdefkey.PDB del $(W_OBJ)\nhdefkey.PDB
|
|
if exist $(W_OBJ)\nhraykey.def del $(W_OBJ)\nhraykey.def
|
|
if exist $(W_OBJ)\nhraykey.exp del $(W_OBJ)\nhraykey.exp
|
|
if exist $(W_OBJ)\nhraykey.lib del $(W_OBJ)\nhraykey.lib
|
|
if exist $(W_OBJ)\nhraykey.map del $(W_OBJ)\nhraykey.map
|
|
if exist $(W_OBJ)\nhraykey.PDB del $(W_OBJ)\nhraykey.PDB
|
|
if exist $(W_OBJ)\envchk.tag del $(W_OBJ)\envchk.tag
|
|
if exist $(W_OBJ)\obj.tag del $(W_OBJ)\obj.tag
|
|
if exist $(W_OBJ)\sp_lev.tag del $(W_OBJ)\sp_lev.tag
|
|
if exist $(W_OBJ)\uudecode.MAP del $(W_OBJ)\uudecode.MAP
|
|
if exist $(W_OBJ)\uudecode.PDB del $(W_OBJ)\uudecode.PDB
|
|
endif
|
|
$(subst /,\,if exist $(TILEBMP16) del $(TILEBMP16))
|
|
$(subst /,\,if exist $(TILEBMP32) del $(TILEBMP32))
|
|
|
|
#===================================================================
|
|
# OTHER DEPENDENCIES
|
|
#===================================================================
|
|
#
|
|
# NT dependencies
|
|
#
|
|
|
|
$(O)consoletty.o: $(HACK_H) $(TILE_H) $(MSWSYS)/win32api.h $(MSWSYS)/consoletty.c
|
|
$(cc) $(CFLAGS) -I$(WSHR) -o$@ $(MSWSYS)/consoletty.c
|
|
$(O)windsys.o: $(HACK_H) $(MSWSYS)/win32api.h $(MSWSYS)/windsys.c
|
|
$(cc) $(CFLAGS) -o$@ $(MSWSYS)/windsys.c
|
|
$(O)ntsound.o: $(HACK_H) $(MSWSYS)/ntsound.c
|
|
$(cc) $(CFLAGS) -o$@ $(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) $(CFLAGS) -DGUISTUB -o$@ $(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) $(CFLAGS) -DTTYSTUB -o$@ $(MSWSYS)/stubs.c
|
|
|
|
$(O)tile.o: $(SRC)/tile.c $(HACK_H)
|
|
|
|
#
|
|
# util dependencies
|
|
#
|
|
|
|
$(O)panic.o: $(U)panic.c $(CONFIG_H)
|
|
$(cc) $(CFLAGS) -o$@ $(U)panic.c
|
|
|
|
#
|
|
# sys/share dependencies
|
|
#
|
|
|
|
(O)cppregex.o: $(O)cppregex.cpp $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/cppregex.cpp
|
|
|
|
#
|
|
# Other dependencies needed by some ports
|
|
#
|
|
|
|
ifeq "$(ADD_CURSES)" "Y"
|
|
# curses window port dependencies
|
|
$(O)cursdial.o: $(WCURSES)/cursdial.c $(WCURSES)/cursdial.h $(INCL)/wincurs.h
|
|
$(O)cursinit.o: $(WCURSES)/cursinit.c $(WCURSES)/cursinit.h $(INCL)/wincurs.h
|
|
$(O)cursinvt.o: $(WCURSES)/cursinvt.c $(WCURSES)/cursinvt.h $(INCL)/wincurs.h
|
|
$(O)cursmain.o: $(WCURSES)/cursmain.c $(INCL)/wincurs.h
|
|
$(O)cursmesg.o: $(WCURSES)/cursmesg.c $(WCURSES)/cursmesg.h $(INCL)/wincurs.h
|
|
$(O)cursmisc.o: $(WCURSES)/cursmisc.c $(WCURSES)/cursmisc.h $(INCL)/wincurs.h
|
|
$(O)cursstat.o: $(WCURSES)/cursstat.c $(WCURSES)/cursstat.h $(INCL)/wincurs.h
|
|
$(O)curswins.o: $(WCURSES)/curswins.c $(WCURSES)/curswins.h $(INCL)/wincurs.h
|
|
endif
|
|
|
|
ifeq "$(WANT_WIN_QT)" "Y"
|
|
# Qt dependencies
|
|
|
|
$(GAMEDIR))/Qt5Core.dll : $(QT_DIRECTORY)/bin/Qt5Core.dll
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
|
|
$(GAMEDIR))/Qt5Gui.dll : $(QT_DIRECTORY)/bin/Qt5Gui.dll
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
|
|
$(GAMEDIR)/Qt5Widgets.dll : $(QT_DIRECTORY)/bin/Qt5Widgets.dll
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
|
|
$(GAMEDIR)/QtCore4.dll : $(QT_DIRECTORY)/bin/QtCore4.dll
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
|
|
$(GAMEDIR)/QtGui4.dll : $(QT_DIRECTORY)/bin/QtGui4.dll
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
|
|
$(GAMEDIR)/nhtiles.bmp : $(SRC)/tiles.bmp
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
|
|
$(GAMEDIR)/rip.xpm : ../win/X11/rip.xpm
|
|
$(subst /,\,@copy $< $@ >nul)
|
|
# Dependencies on .moc files (for Qt 4 or 5)
|
|
$(OBJ)/qt_main.o : $(QT)/qt_main.cpp $(QT)/qt_main.moc $(QT)/qt_kde0.moc
|
|
$(OBJ)/qt_map.o : $(QT)/qt_map.cpp $(QT)/qt_map.moc
|
|
$(OBJ)/qt_menu.o : $(QT)/qt_menu.cpp $(QT)/qt_menu.moc
|
|
$(OBJ)/qt_msg.o : $(QT)/qt_msg.cpp $(QT)/qt_msg.moc
|
|
$(OBJ)/qt_plsel.o : $(QT)/qt_plsel.cpp $(QT)/qt_plsel.moc
|
|
$(OBJ)/qt_set.o : $(QT)/qt_set.cpp $(QT)/qt_set.moc
|
|
$(OBJ)/qt_stat.o : $(QT)/qt_stat.cpp $(QT)/qt_stat.moc
|
|
$(OBJ)/qt_xcmd.o : $(QT)/qt_xcmd.cpp $(QT)/qt_xcmd.moc
|
|
$(OBJ)/qt_yndlg.o : $(QT)/qt_yndlg.cpp $(QT)/qt_yndlg.moc
|
|
endif
|
|
|
|
#
|
|
# The rest are stolen from sys/unix/Makefile.src,
|
|
# with the following changes:
|
|
# * ../include changed to $(INCL)
|
|
# * -c (which is included in CFLAGS) substituted
|
|
# with -o$@
|
|
# * targets prefixed with $(O)
|
|
# * $(CC) changed to $(cc)
|
|
# 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) $(CFLAGS) -o$@ ../sys/atari/tos.c
|
|
$(O)pcmain.o: ../sys/share/pcmain.c $(HACK_H) $(INCL)/dlb.h \
|
|
$(MSWSYS)/win32api.h
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/pcmain.c
|
|
$(O)pcsys.o: ../sys/share/pcsys.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/pcsys.c
|
|
$(O)pctty.o: ../sys/share/pctty.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/pctty.c
|
|
$(O)pcunix.o: ../sys/share/pcunix.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/pcunix.c
|
|
$(O)random.o: ../sys/share/random.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/random.c
|
|
$(O)ioctl.o: ../sys/share/ioctl.c $(HACK_H) $(INCL)/tcap.h
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/ioctl.c
|
|
$(O)unixtty.o: ../sys/share/unixtty.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/share/unixtty.c
|
|
$(O)unixmain.o: ../sys/unix/unixmain.c $(HACK_H) $(INCL)/dlb.h
|
|
$(cc) $(CFLAGS) -o$@ ../sys/unix/unixmain.c
|
|
$(O)unixunix.o: ../sys/unix/unixunix.c $(HACK_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/unix/unixunix.c
|
|
$(O)unixres.o: ../sys/unix/unixres.c $(CONFIG_H)
|
|
$(cc) $(CFLAGS) -o$@ ../sys/unix/unixres.c
|
|
$(O)bemain.o: ../sys/be/bemain.c $(HACK_H) $(INCL)/dlb.h
|
|
$(cc) $(CFLAGS) -o$@ ../sys/be/bemain.c
|
|
$(O)getline.o: ../win/tty/getline.c $(HACK_H) $(INCL)/func_tab.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/tty/getline.c
|
|
$(O)termcap.o: ../win/tty/termcap.c $(HACK_H) $(INCL)/tcap.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/tty/termcap.c
|
|
$(O)topl.o: ../win/tty/topl.c $(HACK_H) $(INCL)/tcap.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/tty/topl.c
|
|
$(O)wintty.o: ../win/tty/wintty.c $(HACK_H) $(INCL)/dlb.h \
|
|
$(INCL)/date.h $(INCL)/tcap.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/tty/wintty.c
|
|
#$(O)Window.o: ../win/X11/Window.c $(INCL)/xwindowp.h $(INCL)/xwindow.h \
|
|
# $(CONFIG_H)
|
|
# $(cc) $(CFLAGS) -o$@ ../win/X11/Window.c
|
|
$(O)dialogs.o: ../win/X11/dialogs.c $(CONFIG_H)
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/dialogs.c
|
|
$(O)winX.o: ../win/X11/winX.c $(HACK_H) $(INCL)/winX.h $(INCL)/dlb.h \
|
|
../win/X11/nh72icon ../win/X11/nh56icon ../win/X11/nh32icon
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winX.c
|
|
$(O)winmap.o: ../win/X11/winmap.c $(INCL)/xwindow.h $(HACK_H) $(INCL)/dlb.h \
|
|
$(INCL)/winX.h $(INCL)/tile2x11.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winmap.c
|
|
$(O)winmenu.o: ../win/X11/winmenu.c $(HACK_H) $(INCL)/winX.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winmenu.c
|
|
$(O)winmesg.o: ../win/X11/winmesg.c $(INCL)/xwindow.h $(HACK_H) $(INCL)/winX.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winmesg.c
|
|
$(O)winmisc.o: ../win/X11/winmisc.c $(HACK_H) $(INCL)/func_tab.h \
|
|
$(INCL)/winX.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winmisc.c
|
|
$(O)winstat.o: ../win/X11/winstat.c $(HACK_H) $(INCL)/winX.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winstat.c
|
|
$(O)wintext.o: ../win/X11/wintext.c $(HACK_H) $(INCL)/winX.h $(INCL)/xwindow.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/wintext.c
|
|
$(O)winval.o: ../win/X11/winval.c $(HACK_H) $(INCL)/winX.h
|
|
$(cc) $(CFLAGS) -o$@ ../win/X11/winval.c
|
|
$(O)tile.o: $(SRC)/tile.c $(HACK_H)
|
|
#---
|
|
$(O)qt_bind.o: ../win/Qt/qt_bind.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_bind.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_click.h ../win/Qt/qt_delay.h \
|
|
../win/Qt/qt_xcmd.h ../win/Qt/qt_key.h ../win/Qt/qt_map.h \
|
|
../win/Qt/qt_win.h ../win/Qt/qt_clust.h ../win/Qt/qt_menu.h \
|
|
../win/Qt/qt_rip.h ../win/Qt/qt_msg.h ../win/Qt/qt_plsel.h \
|
|
../win/Qt/qt_svsel.h ../win/Qt/qt_set.h ../win/Qt/qt_stat.h \
|
|
../win/Qt/qt_icon.h ../win/Qt/qt_streq.h ../win/Qt/qt_line.h \
|
|
../win/Qt/qt_yndlg.h ../win/Qt/qt_str.h ../include/dlb.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_bind.cpp
|
|
$(O)qt_click.o: ../win/Qt/qt_click.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_click.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_click.cpp
|
|
$(O)qt_clust.o: ../win/Qt/qt_clust.cpp ../win/Qt/qt_clust.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_clust.cpp
|
|
$(O)qt_delay.o: ../win/Qt/qt_delay.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_delay.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_delay.cpp
|
|
$(O)qt_glyph.o: ../win/Qt/qt_glyph.cpp $(HACK_H) ../include/tile2x11.h \
|
|
../win/Qt/qt_pre.h ../win/Qt/qt_post.h ../win/Qt/qt_glyph.h \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_main.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_inv.h ../win/Qt/qt_map.h \
|
|
../win/Qt/qt_win.h ../win/Qt/qt_clust.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_glyph.cpp
|
|
$(O)qt_icon.o: ../win/Qt/qt_icon.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_icon.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_icon.cpp
|
|
$(O)qt_inv.o: ../win/Qt/qt_inv.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_inv.h ../win/Qt/qt_glyph.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_bind.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_kde0.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_inv.cpp
|
|
$(O)qt_key.o: ../win/Qt/qt_key.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_key.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_key.cpp
|
|
$(O)qt_line.o: ../win/Qt/qt_line.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_line.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_line.cpp
|
|
$(O)qt_main.o: ../win/Qt/qt_main.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_main.h ../win/Qt/qt_kde0.h \
|
|
qt_main.moc ../win/Qt/qt_bind.h ../win/Qt/qt_glyph.h \
|
|
../win/Qt/qt_inv.h ../win/Qt/qt_key.h ../win/Qt/qt_map.h \
|
|
../win/Qt/qt_win.h ../win/Qt/qt_clust.h ../win/Qt/qt_msg.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_stat.h ../win/Qt/qt_icon.h \
|
|
../win/Qt/qt_str.h qt_kde0.moc
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_main.cpp
|
|
$(O)qt_map.o: ../win/Qt/qt_map.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_map.h ../win/Qt/qt_win.h \
|
|
../win/Qt/qt_clust.h qt_map.moc ../win/Qt/qt_click.h \
|
|
../win/Qt/qt_glyph.h ../win/Qt/qt_xpms.h ../win/Qt/qt_set.h \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_main.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_map.cpp
|
|
$(O)qt_menu.o: ../win/Qt/qt_menu.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_menu.h ../win/Qt/qt_win.h \
|
|
../win/Qt/qt_rip.h qt_menu.moc ../win/Qt/qt_glyph.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_bind.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_streq.h ../win/Qt/qt_line.h \
|
|
../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_menu.cpp
|
|
$(O)qt_msg.o: ../win/Qt/qt_msg.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_msg.h ../win/Qt/qt_win.h \
|
|
qt_msg.moc ../win/Qt/qt_map.h ../win/Qt/qt_clust.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_bind.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_msg.cpp
|
|
$(O)qt_plsel.o: ../win/Qt/qt_plsel.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_plsel.h qt_plsel.moc \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_main.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_glyph.h ../win/Qt/qt_set.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_plsel.cpp
|
|
$(O)qt_rip.o: ../win/Qt/qt_rip.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_rip.h ../win/Qt/qt_bind.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_kde0.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_rip.cpp
|
|
$(O)qt_set.o: ../win/Qt/qt_set.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_set.h ../win/Qt/qt_bind.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_kde0.h qt_set.moc \
|
|
../win/Qt/qt_glyph.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_set.cpp
|
|
$(O)qt_stat.o: ../win/Qt/qt_stat.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_stat.h ../win/Qt/qt_win.h \
|
|
../win/Qt/qt_icon.h qt_stat.moc ../win/Qt/qt_set.h \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_main.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_str.h ../win/Qt/qt_xpms.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_stat.cpp
|
|
$(O)qt_str.o: ../win/Qt/qt_str.cpp ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_str.cpp
|
|
$(O)qt_streq.o: ../win/Qt/qt_streq.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_streq.h ../win/Qt/qt_line.h \
|
|
../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_streq.cpp
|
|
$(O)qt_svsel.o: ../win/Qt/qt_svsel.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_svsel.h ../win/Qt/qt_bind.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_kde0.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_svsel.cpp
|
|
#$(O)qttableview.o: ../win/Qt/qttableview.cpp $(INCL)/qttableview.h
|
|
# $(CXX) $(CXXFLAGS) -o$@ $(QT)/qttableview.cpp
|
|
$(O)qt_win.o: ../win/Qt/qt_win.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_win.h ../win/Qt/qt_bind.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_kde0.h ../win/Qt/qt_click.h \
|
|
../win/Qt/qt_glyph.h ../win/Qt/qt_inv.h ../win/Qt/qt_key.h \
|
|
../win/Qt/qt_icon.h ../win/Qt/qt_map.h ../win/Qt/qt_clust.h \
|
|
../win/Qt/qt_menu.h ../win/Qt/qt_rip.h ../win/Qt/qt_msg.h \
|
|
../win/Qt/qt_set.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_win.cpp
|
|
$(O)qt_xcmd.o: ../win/Qt/qt_xcmd.cpp $(HACK_H) ../include/func_tab.h \
|
|
../win/Qt/qt_pre.h ../win/Qt/qt_post.h ../win/Qt/qt_xcmd.h \
|
|
# qt_xcmd.moc ../win/Qt/qt_bind.h ../win/Qt/qt_main.h \
|
|
# ../win/Qt/qt_kde0.h ../win/Qt/qt_set.h ../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_xcmd.cpp
|
|
$(O)qt_yndlg.o: ../win/Qt/qt_yndlg.cpp $(HACK_H) ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_yndlg.h qt_yndlg.moc \
|
|
../win/Qt/qt_str.h
|
|
# $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_yndlg.cpp
|
|
#---
|
|
$(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
|
|
$(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 $(CONFIG_H) $(INCL)/color.h $(INCL)/sym.h \
|
|
$(INCL)/defsym.h $(INCL)/rm.h \
|
|
$(INCL)/objclass.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)insight.o: insight.c $(HACK_H)
|
|
$(O)invent.o: invent.c $(HACK_H)
|
|
$(O)light.o: light.c $(HACK_H)
|
|
$(O)lock.o: lock.c $(HACK_H)
|
|
$(O)mail.o: mail.c $(HACK_H) $(INCL)/mail.h
|
|
$(O)makemon.o: makemon.c $(HACK_H)
|
|
$(O)mcastu.o: mcastu.c $(HACK_H)
|
|
$(O)mhitm.o: mhitm.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)mhitu.o: mhitu.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)minion.o: minion.c $(HACK_H)
|
|
$(O)mklev.o: mklev.c $(HACK_H)
|
|
$(O)mkmap.o: mkmap.c $(HACK_H) $(INCL)/sp_lev.h
|
|
$(O)mkmaze.o: mkmaze.c $(HACK_H) $(INCL)/sp_lev.h
|
|
$(O)mkobj.o: mkobj.c $(HACK_H)
|
|
$(O)mkroom.o: mkroom.c $(HACK_H)
|
|
$(O)mon.o: mon.c $(HACK_H) $(INCL)/mfndpos.h
|
|
$(O)mondata.o: mondata.c $(HACK_H)
|
|
$(O)monmove.o: monmove.c $(HACK_H) $(INCL)/mfndpos.h $(INCL)/artifact.h
|
|
$(O)monst.o: monst.c $(CONFIG_H) $(INCL)/permonst.h $(INCL)/align.h \
|
|
$(INCL)/monattk.h $(INCL)/monflag.h $(INCL)/color.h
|
|
$(O)mplayer.o: mplayer.c $(HACK_H)
|
|
$(O)mthrowu.o: mthrowu.c $(HACK_H)
|
|
$(O)muse.o: muse.c $(HACK_H)
|
|
$(O)music.o: music.c $(HACK_H) #interp.c
|
|
$(O)nhlua.o: nhlua.c $(HACK_H)
|
|
$(O)nhlsel.o: nhlsel.c $(HACK_H)
|
|
$(O)nhlobj.o: nhlobj.c $(HACK_H)
|
|
$(O)o_init.o: o_init.c $(HACK_H)
|
|
$(O)objects.o: objects.c $(CONFIG_H) $(INCL)/obj.h $(INCL)/objclass.h \
|
|
$(INCL)/prop.h $(INCL)/skills.h $(INCL)/color.h
|
|
$(O)objnam.o: objnam.c $(HACK_H)
|
|
$(O)options.o: options.c $(CONFIG_H) $(INCL)/objclass.h $(INCL)/flag.h \
|
|
$(HACK_H) $(INCL)/tcap.h
|
|
$(O)pager.o: pager.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)pickup.o: pickup.c $(HACK_H)
|
|
$(O)pline.o: pline.c $(HACK_H)
|
|
$(O)polyself.o: polyself.c $(HACK_H)
|
|
$(O)potion.o: potion.c $(HACK_H)
|
|
$(O)pray.o: pray.c $(HACK_H)
|
|
$(O)priest.o: priest.c $(HACK_H) $(INCL)/mfndpos.h
|
|
$(O)quest.o: quest.c $(HACK_H)
|
|
$(O)questpgr.o: questpgr.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)read.o: read.c $(HACK_H)
|
|
$(O)rect.o: rect.c $(HACK_H)
|
|
$(O)region.o: region.c $(HACK_H)
|
|
$(O)restore.o: restore.c $(HACK_H) $(INCL)/tcap.h
|
|
$(O)rip.o: rip.c $(HACK_H)
|
|
$(O)rnd.o: rnd.c $(HACK_H)
|
|
$(O)role.o: role.c $(HACK_H)
|
|
$(O)rumors.o: rumors.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)save.o: save.c $(HACK_H)
|
|
$(O)shk.o: shk.c $(HACK_H)
|
|
$(O)shknam.o: shknam.c $(HACK_H)
|
|
$(O)sit.o: sit.c $(HACK_H) $(INCL)/artifact.h
|
|
$(O)sounds.o: sounds.c $(HACK_H)
|
|
$(O)sp_lev.o: sp_lev.c $(HACK_H) $(INCL)/dlb.h $(INCL)/sp_lev.h
|
|
$(O)spell.o: spell.c $(HACK_H)
|
|
$(O)steal.o: steal.c $(HACK_H)
|
|
$(O)steed.o: steed.c $(HACK_H)
|
|
$(O)symbols.o: symbols.c $(HACK_H) $(INCL)/tcap.h
|
|
$(O)sys.o: sys.c $(HACK_H)
|
|
$(O)teleport.o: teleport.c $(HACK_H)
|
|
$(O)timeout.o: timeout.c $(HACK_H)
|
|
$(O)topten.o: topten.c $(HACK_H) $(INCL)/dlb.h
|
|
$(O)track.o: track.c $(HACK_H)
|
|
$(O)trap.o: trap.c $(HACK_H)
|
|
$(O)u_init.o: u_init.c $(HACK_H)
|
|
$(O)uhitm.o: uhitm.c $(HACK_H)
|
|
$(O)vault.o: vault.c $(HACK_H)
|
|
$(O)version.o: version.c $(HACK_H) $(INCL)/date.h
|
|
$(O)vision.o: vision.c $(HACK_H)
|
|
$(O)weapon.o: weapon.c $(HACK_H)
|
|
$(O)were.o: were.c $(HACK_H)
|
|
$(O)wield.o: wield.c $(HACK_H)
|
|
$(O)windmain.o: $(MSWSYS)/windmain.c $(HACK_H)
|
|
$(O)windows.o: windows.c $(HACK_H)
|
|
$(O)wizard.o: wizard.c $(HACK_H)
|
|
$(O)worm.o: worm.c $(HACK_H)
|
|
$(O)worn.o: worn.c $(HACK_H)
|
|
$(O)write.o: write.c $(HACK_H)
|
|
$(O)zap.o: zap.c $(HACK_H)
|
|
|
|
# end of file
|