split some code into separate files

new .h files: hacklib.h selvar.h stairs.h

new .c files: calendar.c, getpos.c, report.c, selvar.c, stairs.c,
              strutil.c, wizcmds.c

cleanup of hacklib.c and mdlib.c

hacklib contains functions that do not have to link with the core

relocate wiz commands from cmd.c to wizcmds.c

relocate CRASHREPORT stuff to report.c

relocate getpos stuff from do_name.c to getpos.c

remove temporary struct definition from extern.h

cross-compile PRE-section split into cross-pre1.370 and cross-pre2.370

Windows sys/windows/Makefile.nmake and sys/windows/Makefile.mingw32 and
visual studio project file updates

Unix sys/unix/Makefile.src, sys/unix/Makefile.utl

populate selvar.c and selvar.h

build on MS-DOS (not cross-compile) Makefile updates
for sys/msdos/Makefile.GCC (untested)

vms updates for above (untested)
This commit is contained in:
nhmall
2024-03-07 11:01:04 -05:00
parent c22900fb63
commit 50811037f3
43 changed files with 5913 additions and 5677 deletions
+59 -40
View File
@@ -1,5 +1,5 @@
# NetHack 3.7 Makefile.GCC $NHDT-Date: 1596498268 2020/08/03 23:44:28 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.53 $
# Copyright (c) NetHack PC Development Team 1996-2022.
# Copyright (c) NetHack PC Development Team 1996-2024.
# PC NetHack 3.7 Makefile for djgpp V2
#
# Gnu gcc compiler for msdos (djgpp)
@@ -163,6 +163,9 @@ else
DLBFLG =
endif
#
HACKLIB = $(O)hacklib.a
TERMLIB =
# Build NetHack suitable for blind players
@@ -269,29 +272,31 @@ DLBOBJ = $(O)dlb.o
VOBJ01 = $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o $(O)attrib.o
VOBJ02 = $(O)ball.o $(O)bones.o $(O)botl.o $(O)cmd.o $(O)date.o $(O)dbridge.o
VOBJ03 = $(O)decl.o $(O)detect.o $(O)dig.o $(O)display.o $(O)do.o
VOBJ04 = $(O)do_name.o $(O)do_wear.o $(O)dog.o $(O)dogmove.o $(O)dokick.o
VOBJ05 = $(O)dothrow.o $(O)drawing.o $(O)dungeon.o $(O)eat.o $(O)end.o
VOBJ06 = $(O)engrave.o $(O)exper.o $(O)explode.o $(O)extralev.o $(O)files.o
VOBJ07 = $(O)fountain.o $(O)getline.o $(O)hack.o $(O)hacklib.o $(O)insight.o $(O)invent.o
VOBJ08 = $(O)isaac64.o $(O)lock.o $(O)mail.o $(O)main.o $(O)makemon.o
VOBJ09 = $(O)mcastu.o $(O)mdlib.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o $(O)mkmap.o
VOBJ10 = $(O)mklev.o $(O)mkmaze.o $(O)mkobj.o $(O)mkroom.o $(O)mon.o
VOBJ11 = $(O)mondata.o $(O)monmove.o $(O)monst.o $(O)mplayer.o $(O)mthrowu.o
VOBJ12 = $(O)muse.o $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o
VOBJ13 = $(O)options.o $(O)pickup.o $(O)pline.o $(O)polyself.o $(O)potion.o
VOBJ14 = $(O)quest.o $(O)questpgr.o $(O)pager.o $(O)pray.o $(O)priest.o
VOBJ15 = $(O)read.o $(O)rect.o $(O)region.o $(O)restore.o $(O)rip.o
VOBJ16 = $(O)rnd.o $(O)role.o $(O)rumors.o $(O)save.o $(O)sfstruct.o
VOBJ17 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o $(O)sp_lev.o
VOBJ18 = $(O)spell.o $(O)steal.o $(O)steed.o $(O)symbols.o $(O)sys.o
VOBJ19 = $(O)teleport.o $(O)termcap.o $(O)timeout.o $(O)topl.o $(O)topten.o
VOBJ20 = $(O)track.o $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)utf8map.o $(O)vault.o
VOBJ21 = $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o $(O)windows.o
VOBJ22 = $(O)wintty.o $(O)wizard.o $(O)worm.o $(O)worn.o $(O)write.o
VOBJ23 = $(O)zap.o $(O)light.o $(O)dlb.o
VOBJ24 = $(REGEX)
VOBJ02 = $(O)ball.o $(O)bones.o $(O)botl.o $(O)calendar.o $(O)cmd.o
VOBJ03 = $(O)coloratt.o $(O)date.o $(O)dbridge.o $(O)decl.o $(O)detect.o
VOBJ04 = $(O)dig.o $(O)display.o $(O)do.o $(O)do_name.o $(O)do_wear.o
VOBJ05 = $(O)dog.o $(O)dogmove.o $(O)dokick.o $(O)dothrow.o $(O)drawing.o
VOBJ06 = $(O)dungeon.o $(O)eat.o $(O)end.o $(O)engrave.o $(O)exper.o
VOBJ07 = $(O)explode.o $(O)extralev.o $(O)files.o $(O)fountain.o $(O)getpos.o
VOBJ08 = $(O)getline.o $(O)hack.o $(O)hacklib.o $(O)insight.o $(O)invent.o
VOBJ09 = $(O)isaac64.o $(O)lock.o $(O)mail.o $(O)main.o $(O)makemon.o
VOBJ10 = $(O)mcastu.o $(O)mdlib.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o
VOBJ11 = $(O)mkmap.o $(O)mklev.o $(O)mkmaze.o $(O)mkobj.o $(O)mkroom.o
VOBJ12 = $(O)mon.o $(O)mondata.o $(O)monmove.o $(O)monst.o $(O)mplayer.o
VOBJ13 = $(O)mthrowu.o $(O)muse.o $(O)music.o $(O)o_init.o $(O)objects.o
VOBJ14 = $(O)objnam.o $(O)options.o $(O)pickup.o $(O)pline.o $(O)polyself.o
VOBJ15 = $(O)potion.o $(O)quest.o $(O)questpgr.o $(O)pager.o $(O)pray.o
VOBJ16 = $(O)priest.o $(O)read.o $(O)rect.o $(O)region.o $(O)report.o
VOBJ17 = $(O)restore.o $(O)rip.o $(O)rnd.o $(O)role.o $(O)rumors.o
VOBJ18 = $(O)save.o $(O)selvar.o $(O)sfstruct.o $(O)shk.o $(O)shknam.o
VOBJ19 = $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o $(O)stairs.o
VOBJ20 = $(O)steal.o $(O)steed.o $(O)symbols.o $(O)sys.o $(O)teleport.o
VOBJ21 = $(O)strutil.o $(O)termcap.o $(O)timeout.o $(O)topl.o $(O)topten.o
VOBJ22 = $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)utf8map.o $(O)vault.o
VOBJ23 = $(O)track.o $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o
VOBJ24 = $(O)windows.o $(O)wintty.o $(O)wizard.o $(O)wizcmds.o $(O)worm.o
VOBJ25 = $(O)worn.o $(O)write.o $(O)zap.o $(O)light.o $(O)dlb.o
VOBJ26 = $(REGEX)
SOBJ = $(O)msdos.o $(O)pcsys.o $(O)tty.o $(O)unix.o \
$(O)video.o $(O)vidtxt.o $(O)pckeys.o
@@ -313,7 +318,7 @@ VOBJ = $(VOBJ01) $(VOBJ02) $(VOBJ03) $(VOBJ04) $(VOBJ05) \
$(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) $(VOBJ15) \
$(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ19) $(VOBJ20) \
$(VOBJ21) $(VOBJ22) $(VOBJ23) $(VOBJ24) $(VOBJ25) \
$(CURSESOBJ) $(LUAOBJ)
$(VOBJ26) $(CURSESOBJ) $(LUAOBJ)
ALLOBJ = $(VOBJ) $(SOBJ) $(TILOBJ) $(TILOBJ2) $(VVOBJ)
@@ -609,7 +614,7 @@ endif
#==========================================
$(GAMEFILE): $(O)obj.tag $(PATCHLEV_H) $(PDCLIB) $(LUATARGETS) \
$(O)utility.tag $(ALLOBJ)
$(O)utility.tag $(ALLOBJ) $(O)hacklib.a
@if exist temp.a del temp.a
@ar ruS temp.a $(VOBJ01)
@ar ruS temp.a $(VOBJ02)
@@ -636,6 +641,7 @@ $(GAMEFILE): $(O)obj.tag $(PATCHLEV_H) $(PDCLIB) $(LUATARGETS) \
@ar ruS temp.a $(VOBJ23)
@ar ruS temp.a $(VOBJ24)
@ar ruS temp.a $(VOBJ25)
@ar ruS temp.a $(VOBJ26)
@ar ruS temp.a $(SOBJ)
@ar ruS temp.a $(TILOBJ)
@ar ruS temp.a $(TILOBJ2)
@@ -674,12 +680,24 @@ $(INCL)/pm.h: $(U)makedefs.exe
# Makedefs Stuff
#==========================================
$(U)makedefs.exe: $(MAKEDEFSOBJS)
$(LINK) $(LFLAGS) -o$@ $(MAKEDEFSOBJS)
$(U)makedefs.exe: $(MAKEDEFSOBJS) $(HACKLIB)
$(LINK) $(LFLAGS) -o$@ $(MAKEDEFSOBJS) $(HACKLIB)
$(O)makedefs.o: $(CONFIG_H) $(PERMONST_H) $(INCL)/objclass.h \
$(INCL)/sym.h $(INCL)/defsym.h $(U)makedefs.c
#==========================================
# hacklib.a static library
#==========================================
$(O)hacklib.a: $(O)hacklibu.o
@ar rcs $@ $(O)hacklibu.o
# @ranlib $@
$(O)hacklibu.o: $(CONFIG_H) $(SRC)/hacklib.c
$(CC) $(cflags) -I$(SRC) -I$(MSYS) \
-o$@ $(SRC)/hacklib.c
#==========================================
# Recover Utility
#==========================================
@@ -707,8 +725,8 @@ $(SRC)/tile.c: $(U)tilemap.exe
TILEMAPOBJS = $(O)tilemap.o $(O)monst.o $(O)objects.o $(O)drawing.o
$(U)tilemap.exe: $(TILEMAPOBJS)
$(LINK) $(LFLAGS) -o$@ $(TILEMAPOBJS)
$(U)tilemap.exe: $(TILEMAPOBJS) $(HACKLIB)
$(LINK) $(LFLAGS) -o$@ $(TILEMAPOBJS) $(HACKLIB)
$(O)tilemap.o: $(WSHR)/tilemap.c $(HACK_H) $(TILE_H)
$(CC) $(cflags) -I$(WSHR) -I$(MSYS) -o$@ $(WSHR)/tilemap.c
@@ -726,23 +744,23 @@ $(DAT)/nhtiles.bmp: $(TILEFILES) $(U)tile2bmp.exe
@$(subst /,\,$(U)tile2bmp.exe $@)
@$(subst /,\,chdir $(SRC))
$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXTIO)
$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXTIO) $(HACKLIB)
-rm -f temp.a
@ar ru temp.a $(TEXTIO)
$(LINK) $(LFLAGS) -o$@ $(O)tile2bmp.o temp.a
$(LINK) $(LFLAGS) -o$@ $(O)tile2bmp.o temp.a $(HACKLIB)
$(U)tile2bin.exe: $(O)tile2bin.o $(TEXTIO)
$(U)tile2bin.exe: $(O)tile2bin.o $(TEXTIO) $(HACKLIB)
-rm -f temp.a
@ar ru temp.a $(TEXTIO)
$(LINK) $(LFLAGS) -o$@ $(O)tile2bin.o temp.a
$(LINK) $(LFLAGS) -o$@ $(O)tile2bin.o temp.a $(HACKLIB)
$(U)til2bin2.exe: $(O)til2bin2.o $(TEXTIO2)
$(U)til2bin2.exe: $(O)til2bin2.o $(TEXTIO2) $(HACKLIB)
-rm -f temp.a
@ar ru temp.a $(TEXTIO2)
$(LINK) $(LFLAGS) -o$@ $(O)til2bin2.o temp.a
$(LINK) $(LFLAGS) -o$@ $(O)til2bin2.o temp.a $(HACKLIB)
$(U)thintile.exe: $(O)thintile.o
$(LINK) $(LFLAGS) -o$@ $(O)thintile.o
$(U)thintile.exe: $(O)thintile.o $(HACKLIB)
$(LINK) $(LFLAGS) -o$@ $(O)thintile.o $(HACKLIB)
$(O)thintile.o: $(HACK_H) $(WSHR)/tile.h $(WSHR)/thintile.c
$(CC) $(cflags) -o$@ $(WSHR)/thintile.c
@@ -895,8 +913,8 @@ $(DAT)/nhdat: $(U)dlb_main.exe $(DAT)/data $(DAT)/rumors \
@$(subst /,\,$(U)dlb_main cvIf dlb.lst nhdat)
@$(subst /,\,cd $(SRC))
$(U)dlb_main.exe: $(DLBOBJS)
$(LINK) $(LFLAGS) -o$@ $(DLBOBJS)
$(U)dlb_main.exe: $(DLBOBJS) $(HACKLIB)
$(LINK) $(LFLAGS) -o$@ $(DLBOBJS) $(HACKLIB)
$(O)dlb_main.o: $(U)dlb_main.c $(INCL)/config.h $(DLB_H)
$(CC) $(cflags) -o$@ $(U)dlb_main.c
@@ -981,6 +999,7 @@ endif
$(subst /,\,if exist $(WSHR)/monthin.txt del $(WSHR)/monthin.txt)
$(subst /,\,if exist $(WSHR)/objthin.txt del $(WSHR)/objthin.txt)
$(subst /,\,if exist $(WSHR)/oththin.txt del $(WSHR)/oththin.txt)
$(subst /,\,if exist $(O)hacklib.a del $(O)hacklib.a)
#==========================================
# Create directory for holding object files
+1 -1
View File
@@ -10,7 +10,7 @@
extern "C" {
#include "config.h"
#define CPPREGEX_C
#include "extern.h"
//#include "extern.h"
} // extern "C"
+61 -41
View File
@@ -188,6 +188,9 @@ SYSOBJ = $(TARGETPFX)ioctl.o $(TARGETPFX)unixmain.o $(TARGETPFX)unixtty.o \
#CFLAGS = -O -I../include
#LFLAGS =
AR = ar
ARFLAGS = rcs
# The Qt and Be window systems are written in C++, while the rest of
# NetHack is standard C. If using Qt, uncomment the LINK line here to get
# the C++ libraries linked in.
@@ -210,6 +213,8 @@ TARGET_LFLAGS = $(LFLAGS)
TARGET_CXX = $(CXX)
TARGET_CXXFLAGS = $(CXXFLAGS)
TARGET_LIBS = $(LIBS)
TARGET_AR = $(AR)
TARGET_ARFLAGS = $(ARFLAGS)
# we specify C preprocessor flags via CFLAGS; files built with default rules
# might include $(CPPFLAGS) which could get a value from user's environment;
@@ -478,6 +483,10 @@ AT = $(AT_V$(QUIETCC))
PREGAME=@true
PACKAGE=@true
HACKLIBSRC = hacklib.c
HACKLIBOBJS = hacklib.o
HACKLIB = hacklib.a
MAKEDEFS = ../util/makedefs
# -lm required by lua
@@ -493,24 +502,23 @@ HACK_H = ../src/hack.h-t
# all .c that are part of the main NetHack program and are not operating- or
# windowing-system specific. Do not include date.c in this list.
HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
botl.c coloratt.c cmd.c dbridge.c decl.c detect.c dig.c display.c \
dlb.c do.c \
do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c drawing.c \
dungeon.c eat.c end.c engrave.c exper.c explode.c extralev.c \
files.c fountain.c hack.c hacklib.c \
insight.c invent.c isaac64.c light.c \
botl.c calendar.c cmd.c coloratt.c dbridge.c decl.c detect.c dig.c display.c \
dlb.c do.c do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c \
drawing.c dungeon.c eat.c end.c engrave.c exper.c explode.c \
extralev.c files.c fountain.c hack.c hacklib.c \
getpos.c insight.c invent.c isaac64.c light.c \
lock.c mail.c makemon.c mcastu.c mdlib.c mhitm.c \
mhitu.c minion.c mklev.c mkmap.c mkmaze.c mkobj.c mkroom.c mon.c \
mondata.c monmove.c monst.c mplayer.c mthrowu.c muse.c music.c \
nhlua.c nhlsel.c nhlobj.c nhmd4.c o_init.c objects.c objnam.c \
options.c pager.c pickup.c pline.c polyself.c potion.c pray.c \
priest.c quest.c questpgr.c read.c rect.c region.c restore.c \
rip.c rnd.c role.c rumors.c save.c sfstruct.c \
shk.c shknam.c sit.c sounds.c \
sp_lev.c spell.c steal.c steed.c symbols.c sys.c teleport.c \
priest.c quest.c questpgr.c read.c rect.c region.c report.c restore.c \
rip.c rnd.c role.c rumors.c save.c selvar.c sfstruct.c \
shk.c shknam.c sit.c sounds.c sp_lev.c spell.c stairs.c steal.c steed.c \
strutil.c symbols.c sys.c teleport.c \
timeout.c topten.c track.c trap.c u_init.c utf8map.c \
uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
windows.c wizard.c worm.c worn.c write.c zap.c
windows.c wizard.c wizcmds.c worm.c worn.c write.c zap.c
# all operating-system-dependent .c (for dependencies and such)
SYSCSRC = ../sys/share/pcmain.c ../sys/share/pcsys.c \
@@ -536,10 +544,10 @@ CHAINOBJ = $(TARGETPFX)wc_chainin.o $(TARGETPFX)wc_chainout.o \
$(TARGETPFX)wc_trace.o
# .c files for this version (for date.h)
VERSOURCES = $(HACKCSRC) $(SYSSRC) $(WINSRC) $(CHAINSRC) $(GENCSRC)
VERSOURCES = $(HACKCSRC) $(HACKLIBSRC) $(SYSSRC) $(WINSRC) $(CHAINSRC) $(GENCSRC)
# .c files for all versions using this Makefile (for lint and tags)
CSOURCES = $(HACKCSRC) $(SYSCSRC) $(WINCSRC) $(CHAINSRC) $(GENCSRC)
CSOURCES = $(HACKCSRC) $(HACKLIBSRC) $(SYSCSRC) $(WINCSRC) $(CHAINSRC) $(GENCSRC)
# all .h files except date.h, which would
@@ -552,8 +560,8 @@ HACKINCL = align.h artifact.h artilist.h attrib.h botl.h \
func_tab.h global.h warnings.h hack.h lint.h mextra.h mfndpos.h \
micro.h mkroom.h monattk.h mondata.h monflag.h monst.h monsters.h \
nhmd4.h obj.h objects.h objclass.h optlist.h patchlevel.h pcconf.h \
permonst.h prop.h rect.h region.h sym.h defsym.h rm.h sp_lev.h \
spell.h sndprocs.h seffects.h sys.h tcap.h timeout.h \
permonst.h prop.h rect.h region.h selvar.h sym.h defsym.h rm.h sp_lev.h \
spell.h sndprocs.h seffects.h stairs.h sys.h tcap.h timeout.h \
tradstdc.h trap.h unixconf.h vision.h vmsconf.h wintty.h wincurs.h \
winX.h winprocs.h wintype.h you.h youprop.h cstd.h
@@ -569,8 +577,8 @@ HOSTOBJ = $(FIRSTOBJ) alloc.o drawing.o
HOBJ = $(TARGETPFX)allmain.o $(TARGETPFX)alloc.o \
$(TARGETPFX)apply.o $(TARGETPFX)artifact.o $(TARGETPFX)attrib.o \
$(TARGETPFX)ball.o $(TARGETPFX)bones.o $(TARGETPFX)botl.o \
$(TARGETPFX)coloratt.o \
$(TARGETPFX)cmd.o $(TARGETPFX)dbridge.o $(TARGETPFX)decl.o \
$(TARGETPFX)calendar.o \
$(TARGETPFX)cmd.o $(TARGETPFX)coloratt.o $(TARGETPFX)dbridge.o $(TARGETPFX)decl.o \
$(TARGETPFX)detect.o $(TARGETPFX)dig.o $(TARGETPFX)display.o \
$(TARGETPFX)dlb.o $(TARGETPFX)do.o $(TARGETPFX)do_name.o \
$(TARGETPFX)do_wear.o $(TARGETPFX)dog.o $(TARGETPFX)dogmove.o \
@@ -578,7 +586,7 @@ HOBJ = $(TARGETPFX)allmain.o $(TARGETPFX)alloc.o \
$(TARGETPFX)dungeon.o $(TARGETPFX)eat.o $(TARGETPFX)end.o \
$(TARGETPFX)engrave.o $(TARGETPFX)exper.o $(TARGETPFX)explode.o \
$(TARGETPFX)extralev.o $(TARGETPFX)files.o $(TARGETPFX)fountain.o \
$(TARGETPFX)hack.o $(TARGETPFX)hacklib.o $(TARGETPFX)insight.o \
$(TARGETPFX)getpos.o $(TARGETPFX)hack.o $(TARGETPFX)insight.o \
$(TARGETPFX)invent.o $(TARGETPFX)isaac64.o $(TARGETPFX)light.o \
$(TARGETPFX)lock.o $(TARGETPFX)mail.o $(TARGETPFX)makemon.o \
$(TARGETPFX)mcastu.o $(TARGETPFX)mdlib.o \
@@ -594,22 +602,23 @@ HOBJ = $(TARGETPFX)allmain.o $(TARGETPFX)alloc.o \
$(TARGETPFX)pickup.o $(TARGETPFX)pline.o $(TARGETPFX)polyself.o \
$(TARGETPFX)potion.o $(TARGETPFX)pray.o $(TARGETPFX)priest.o \
$(TARGETPFX)quest.o $(TARGETPFX)questpgr.o $(TARGETPFX)read.o \
$(TARGETPFX)rect.o $(TARGETPFX)region.o $(TARGETPFX)restore.o \
$(TARGETPFX)rip.o $(TARGETPFX)rnd.o $(TARGETPFX)role.o \
$(TARGETPFX)rumors.o $(TARGETPFX)save.o $(TARGETPFX)sfstruct.o \
$(TARGETPFX)rect.o $(TARGETPFX)region.o $(TARGETPFX)report.o \
$(TARGETPFX)restore.o $(TARGETPFX)rip.o $(TARGETPFX)rnd.o \
$(TARGETPFX)role.o $(TARGETPFX)rumors.o $(TARGETPFX)save.o \
$(TARGETPFX)selvar.o $(TARGETPFX)sfstruct.o \
$(TARGETPFX)shk.o $(TARGETPFX)shknam.o $(TARGETPFX)sit.o \
$(TARGETPFX)sounds.o $(TARGETPFX)sp_lev.o $(TARGETPFX)spell.o \
$(TARGETPFX)sounds.o $(TARGETPFX)sp_lev.o $(TARGETPFX)spell.o $(TARGETPFX)stairs.o \
$(TARGETPFX)symbols.o $(TARGETPFX)sys.o $(TARGETPFX)steal.o \
$(TARGETPFX)steed.o $(TARGETPFX)teleport.o $(TARGETPFX)timeout.o \
$(TARGETPFX)topten.o $(TARGETPFX)track.o $(TARGETPFX)trap.o \
$(TARGETPFX)steed.o $(TARGETPFX)strutil.o $(TARGETPFX)teleport.o \
$(TARGETPFX)timeout.o $(TARGETPFX)topten.o $(TARGETPFX)track.o $(TARGETPFX)trap.o \
$(TARGETPFX)u_init.o $(TARGETPFX)uhitm.o $(TARGETPFX)utf8map.o \
$(TARGETPFX)vault.o $(TARGETPFX)vision.o $(TARGETPFX)weapon.o \
$(TARGETPFX)were.o $(TARGETPFX)wield.o $(TARGETPFX)windows.o \
$(TARGETPFX)wizard.o $(TARGETPFX)worm.o $(TARGETPFX)worn.o \
$(TARGETPFX)wizard.o $(TARGETPFX)wizcmds.o $(TARGETPFX)worm.o $(TARGETPFX)worn.o \
$(TARGETPFX)write.o $(TARGETPFX)zap.o \
$(REGEXOBJ) $(RANDOBJ) $(SYSOBJ) $(WINOBJ) $(HINTOBJ) $(SNDLIBOBJ) \
$(TARGETPFX)version.o
#
DATE_O = $(TARGETPFX)date.o
# the .o files from the HACKCSRC, SYSSRC, and WINSRC lists
@@ -624,41 +633,46 @@ pregame:
$(GAME): pregame $(MAKEDEFS) $(LUALIB) $(WAVS) $(SYSTEM)
@echo "$(GAME) is up to date."
Sysunix: $(HOSTOBJ) $(HOBJ) $(DATE_O) $(BUILDMORE) Makefile
Sysunix: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(WINLIB) $(TARGET_LIBS) $(LUALIBS) \
$(AUTOLIBS)
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) $(WINLIB) \
$(TARGET_LIBS) $(LUALIBS) $(AUTOLIBS)
@touch Sysunix
Sys3B2: $(HOSTOBJ) $(HOBJ) $(DATE_O) $(BUILDMORE) Makefile
Sys3B2: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(WINLIB) $(LUALIBS) -lmalloc
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) $(WINLIB) \
$(LUALIBS) -lmalloc
@touch Sys3B2
Sysatt: $(HOSTOBJ) $(HOBJ) $(DATE_O) $(BUILDMORE) Makefile
Sysatt: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
@echo "Loading $(GAME)."
$(AT)$(LD) $(TARGET_LFLAGS) /lib/crt0s.o /lib/shlib.ifile \
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) $(DATE_O) $(LUALIBS)
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
$(LUALIBS)
@touch Sysatt
Systos: $(HOSTOBJ) $(HOBJ) $(DATE_O) $(BUILDMORE) Makefile
Systos: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(WINLIB) $(LUALIBS)
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
$(WINLIB) $(LUALIBS)
@touch Systos
SysV-AT: DUMB.Setup $(HOSTOBJ) $(HOBJ) $(DATE_O) $(BUILDMORE) Makefile
SysV-AT: DUMB.Setup $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(WINLIB) $(LUALIBS)
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
$(WINLIB) $(LUALIBS)
@touch SysV-AT
SysBe: $(HOSTOBJ) $(HOBJ) $(DATE_O) $(BUILDMORE) Makefile
SysBe: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAME) \
$(HOBJ) $(DATE_O) $(WINLIB) $(TARGET_LIBS) $(LUALIBS)
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
$(WINLIB) $(TARGET_LIBS) $(LUALIBS)
@xres -o $(GAME) ../win/BeOS/nethack.rsrc
@mimeset -f $(GAME)
@touch SysBe
@@ -730,6 +744,12 @@ $(MAKEDEFS): $(FIRSTOBJ) \
tile.c: ../win/share/tilemap.c $(HACK_H)
@( cd ../util ; $(MAKE) ../src/tile.c )
#
# hacklib (a library of utility routines)
#
hacklib.a: hacklib.o
$(AR) $(ARFLAGS) $@ hacklib.o
../win/gnome/gn_rip.h: ../win/X11/rip.xpm
cp ../win/X11/rip.xpm ../win/gnome/gn_rip.h
@@ -738,7 +758,7 @@ $(TARGETPFX)sfstruct.o: sfstruct.c $(HACK_H)
# date.c should be recompiled any time any of the source or include code
# is modified.
$(TARGETPFX)date.o: date.c $(HACK_H) $(HACKCSRC) $(HOBJ)
$(TARGETPFX)date.o: date.c $(HACK_H) $(HACKCSRC) $(HOBJ) $(TARGETPFX)$(HACKLIB)
$(TARGET_CC) $(TARGET_CFLAGS) $(GITHASH) $(GITBRANCH) -c -o $@ date.c
# date.h should be remade any time any of the source or include code
@@ -774,7 +794,7 @@ clean:
true; $(CLEANMORE)
spotless: clean
-rm -f a.out core $(GAMEBIN) Sys*
-rm -f a.out core $(HACKLIB) $(GAMEBIN) Sys*
-rm -f ../include/nhlua.h
-rm -f ../include/date.h #created but no longer used, at least by core
-rm -f ../include/onames.h ../include/pm.h #obsolete generated files
+29 -14
View File
@@ -189,7 +189,12 @@ CALLOC = ../src/alloc.c panic.c
OALLOC = $(OBJDIR)/alloc.o panic.o
# build time info
CDATE = ../src/date.c
ODATE = $(OBJDIR)/date.o
ODATE = $(OBJDIR)/date.o
# hacklib utility routines
HACKLIB = $(OBJDIR)/hacklib.a
HACKLIBSRC = ../src/hacklib.c
HACKLIBOBJ = $(OBJDIR)/hacklib.o panic.o
# object files for makedefs
MAKEOBJS = makedefs.o $(OMONOBJ) $(ODATE) $(OALLOC)
@@ -213,11 +218,12 @@ TARGET_CLINK = $(CLINK)
TARGET_LFLAGS = $(LFLAGS)
TARGET_CXX = $(CXX)
TARGET_CXXFLAGS = $(CXXFLAGS)
TARGET_AR = $(AR)
# dependencies for makedefs
#
makedefs: $(MAKEOBJS) mdgrep.h
$(CLINK) $(LFLAGS) -o makedefs $(MAKEOBJS)
makedefs: $(HACKLIB) $(MAKEOBJS) mdgrep.h
$(CLINK) $(LFLAGS) -o makedefs $(MAKEOBJS) $(HACKLIB)
# note: the headers listed here are maintained manually rather than via
@@ -233,6 +239,8 @@ makedefs.o: makedefs.c ../src/mdlib.c $(CONFIG_H) \
../include/dlb.h ../include/patchlevel.h mdgrep.h
$(CC) $(CFLAGS) $(CSTD) -c makedefs.c -o $@
$(OBJDIR)/hacklib.o: $(HACKLIBSRC)
# Don't require perl to build; that is why mdgrep.h is spelled wrong below.
mdgreph: mdgrep.pl
perl mdgrep.pl
@@ -252,6 +260,9 @@ lintdefs:
../include/date.h::
@( cd ../src ; $(MAKE) ../include/date.h )
$(HACKLIB): $(CONFIG_H) $(HACKLIBSRC) panic.o
@( cd ../src ; $(MAKE) hacklib.a )
# support code used by several of the utility programs (but not makedefs)
panic.o: panic.c $(CONFIG_H)
$(CC) $(CFLAGS) $(CSTD) -c panic.c -o $@
@@ -275,8 +286,8 @@ $(TARGETPFX)recover.o: recover.c $(CONFIG_H)
# dependencies for dlb
#
dlb: $(DLBOBJS)
$(CLINK) $(LFLAGS) -o dlb $(DLBOBJS) $(LIBS)
dlb: $(DLBOBJS) $(HACKLIB)
$(CLINK) $(LFLAGS) -o dlb $(DLBOBJS) $(HACKLIB) $(LIBS)
dlb_main.o: dlb_main.c $(CONFIG_H) ../include/dlb.h
$(CC) $(CFLAGS) $(CSTD) -c dlb_main.c -o $@
@@ -295,30 +306,34 @@ gif2txt: $(GIFREADERS) $(TEXT_IO)
txt2ppm: $(PPMWRITERS) $(TEXT_IO)
$(CLINK) $(LFLAGS) -o txt2ppm $(PPMWRITERS) $(TEXT_IO) $(LIBS)
tile2x11: tile2x11.o $(TEXT_IO)
$(CLINK) $(LFLAGS) -o tile2x11 tile2x11.o $(TEXT_IO) $(LIBS)
tile2x11: tile2x11.o $(TEXT_IO) $(HACKLIB)
$(CLINK) $(LFLAGS) -o tile2x11 tile2x11.o $(TEXT_IO) \
$(HACKLIB) $(LIBS)
tile2img.ttp: tile2img.o bitmfile.o $(TEXT_IO)
$(CLINK) $(LFLAGS) -o tile2img.ttp tile2img.o bitmfile.o \
$(TEXT_IO) $(LIBS)
tile2bmp: tile2bmp.o $(TEXT_IO)
$(CLINK) $(LFLAGS) -o tile2bmp tile2bmp.o $(TEXT_IO)
tile2bmp: tile2bmp.o $(TEXT_IO) $(HACKLIB)
$(CLINK) $(LFLAGS) -o tile2bmp tile2bmp.o $(TEXT_IO) $(HACKLIB)
xpm2img.ttp: xpm2img.o bitmfile.o
$(CLINK) $(LFLAGS) -o xpm2img.ttp xpm2img.o bitmfile.o $(LIBS)
tile2beos: tile2beos.o $(TEXT_IO)
$(CXXLINK) $(LFLAGS) -o tile2beos tile2beos.o $(TEXT_IO) -lbe
tile2beos: tile2beos.o $(TEXT_IO) $(HACKLIB)
$(CXXLINK) $(LFLAGS) -o tile2beos tile2beos.o \
$(TEXT_IO) $(HACKLIB) -lbe
#--compiling and linking in one step leaves extra debugging files (in their
# own subdirectories!) on OSX; compile and link separately to suppress
# that without mucking about with extra OS-specific CFLAGS and/or LFLAGS
#tilemap: ../win/share/tilemap.c $(HACK_H)
# $(CC) $(CFLAGS) $(LFLAGS) -o tilemap ../win/share/tilemap.c $(LIBS)
tilemap: tilemap.o $(OBJDIR)/objects.o $(OBJDIR)/monst.o $(OBJDIR)/drawing.o
tilemap: tilemap.o $(OBJDIR)/objects.o $(OBJDIR)/monst.o $(OBJDIR)/drawing.o \
$(HACKLIB)
$(CLINK) $(LFLAGS) -o tilemap tilemap.o $(OBJDIR)/objects.o \
$(OBJDIR)/monst.o $(OBJDIR)/drawing.o $(LIBS)
$(OBJDIR)/monst.o $(OBJDIR)/drawing.o $(HACKLIB) \
$(LIBS)
../src/tile.c: tilemap
./tilemap
@@ -426,6 +441,6 @@ clean: clean-fixup
-rm -f *.o
spotless: clean
-rm -f makedefs recover dlb
-rm -f makedefs recover dlb $(HACKLIB)
-rm -f gif2txt txt2ppm tile2x11 tile2img.ttp xpm2img.ttp \
tilemap tileedit tile2bmp uudecode
+4 -2
View File
@@ -22,9 +22,9 @@ $(TARGETPFX)tile.o : tile.c
$(TARGETPFX)exceptn.o : ../lib/djgpp/djgpp-patch/src/libc/go32/exceptn.S
$(TARGET_CC) -c -o $@ ../lib/djgpp/djgpp-patch/src/libc/go32/exceptn.S
$(TARGET_AR) ru ../lib/djgpp/i586-pc-msdosdjgpp/lib/libc.a $(TARGETPFX)exceptn.o
$(GAMEBIN) : $(HOBJ) $(LUACROSSLIB)
$(GAMEBIN) : $(HOBJ) $(HACKLIB) $(LUACROSSLIB)
$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(WINLIB) $(TARGET_LIBS)
$(HOBJ) $(HACKLIB) $(WINLIB) $(TARGET_LIBS)
$(DOSFONT)/ter-u16b.psf: $(FONTTOP)/ter-u16b.bdf $(DOSFONT)/nh-u16b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u16b.bdf $(DOSFONT)/nh-u16b.bdf $@
$(DOSFONT)/ter-u16v.psf: $(FONTTOP)/ter-u16v.bdf $(DOSFONT)/nh-u16v.bdf $(DOSFONT)/makefont.lua $(LUABIN)
@@ -41,6 +41,8 @@ $(DOSFONT)/ter-u28b.psf: $(FONTTOP)/ter-u28b.bdf $(DOSFONT)/nh-u28b.bdf $(DOSFON
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u28b.bdf $(DOSFONT)/nh-u28b.bdf $@
$(DOSFONT)/ter-u32b.psf: $(FONTTOP)/ter-u32b.bdf $(DOSFONT)/nh-u32b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u32b.bdf $(DOSFONT)/nh-u32b.bdf $@
$(TARGETPFX)hacklib.a: $(TARGETPFX)hacklib.o
$(TARGET_AR) $(TARGET_ARFLAGS) $@ $(TARGETPFX)hacklib.o
#
.PHONY: dodata dospkg dosfonts
dosfonts: $(FONTTARGETS)
+49
View File
@@ -0,0 +1,49 @@
#===============-=================================================
# NetHack 3.7 include/cross-pre1. $NHDT-Date: 1597332785 2020/08/13 15:33:05 $ $NHDT-Branch: NetHack-3.7 $
#
# Cross-compiling -PRE section 1
#
ifdef CROSS_TO_MSDOS
CROSS=1
BUILD_TARGET_LUA=1
BUILD_PDCURSES=1
CROSS_SHARED=1
override TARGET = msdos
override TARGETDIR=../targets/$(TARGET)
override TARGETPFX = $(TARGETDIR)/
override TARGET_LIBS=
endif
ifdef CROSS_TO_WASM
CROSS=1
BUILD_TARGET_LUA=1
HACKDIR=/
PREFIX=
override TARGET = wasm
override TARGETDIR=../targets/$(TARGET)
override TARGETPFX = $(TARGETDIR)/
override TARGET_LIBS=
endif
ifdef CROSS_TO_MIPS
CROSS=1
BUILD_TARGET_LUA=1
BUILD_TARGET_NCURSES=1
HACKDIR=/
PREFIX=
override TARGET = mips
override TARGETDIR=../targets/$(TARGET)
override TARGETPFX = $(TARGETDIR)/
override TARGET_LIBS=
endif
ifdef CROSS
override PREGAME=
override BUILDMORE=
override CLEANMORE=
override PACKAGE=
endif
# End of cross-compiling -PRE section 1
#===============-=================================================
@@ -1,50 +1,9 @@
#===============-=================================================
# NetHack 3.7 include/cross-pre $NHDT-Date: 1597332785 2020/08/13 15:33:05 $ $NHDT-Branch: NetHack-3.7 $
# NetHack 3.7 include/cross-pre2 $NHDT-Date: 1597332785 2020/08/13 15:33:05 $ $NHDT-Branch: NetHack-3.7 $
#
# Cross-compiling -PRE section
# Cross-compiling -PRE section 2
#
ifdef CROSS_TO_MSDOS
CROSS=1
BUILD_TARGET_LUA=1
BUILD_PDCURSES=1
CROSS_SHARED=1
override TARGET = msdos
override TARGETDIR=../targets/$(TARGET)
override TARGETPFX = $(TARGETDIR)/
override TARGET_LIBS=
endif
ifdef CROSS_TO_WASM
CROSS=1
BUILD_TARGET_LUA=1
HACKDIR=/
PREFIX=
override TARGET = wasm
override TARGETDIR=../targets/$(TARGET)
override TARGETPFX = $(TARGETDIR)/
override TARGET_LIBS=
endif
ifdef CROSS_TO_MIPS
CROSS=1
BUILD_TARGET_LUA=1
BUILD_TARGET_NCURSES=1
HACKDIR=/
PREFIX=
override TARGET = mips
override TARGETDIR=../targets/$(TARGET)
override TARGETPFX = $(TARGETDIR)/
override TARGET_LIBS=
endif
ifdef CROSS
override PREGAME=
override BUILDMORE=
override CLEANMORE=
override PACKAGE=
endif
ifdef BUILD_TARGET_LUA
#===============-=================================================
# LUA library
+6 -2
View File
@@ -27,7 +27,7 @@ ifeq ($(MAKELEVEL),0)
PRECHECK+=checkmakefiles
# all files included from this hints file get listed
# in HINTSINCLNAMES (without suffix and without a path)
HINTSINCLNAMES := compiler cross-pre cross-post \
HINTSINCLNAMES := compiler cross-pre1 cross-pre2 cross-post \
gbdates-pre gbdates-post \
multiw-1 multiw-2 misc \
multisnd1-pre multisnd2-pre multisnd-post
@@ -43,6 +43,10 @@ endif
GAMEUID = $(USER)
GAMEGRP = games
#-----------------------------------------------------------------------------
#-INCLUDE cross-pre1.370
#-----------------------------------------------------------------------------
# You shouldn't need to change anything below here (in the hints file; if
# you're reading this in Makefile augmented by hints, that may not be true).
@@ -366,7 +370,7 @@ CHGRP=true
# manpages directory
MANDIR=/usr/share/man/man6
#
#-INCLUDE cross-pre.370
#-INCLUDE cross-pre2.370
#
#
+4 -2
View File
@@ -27,7 +27,7 @@ ifeq ($(MAKELEVEL),0)
PRECHECK+=checkmakefiles
# all files included from this hints file get listed
# in HINTSINCLNAMES (without suffix and without a path)
HINTSINCLNAMES := compiler cross-pre cross-post \
HINTSINCLNAMES := compiler cross-pre1 cross-pre2 cross-post \
gbdates-pre gbdates-post \
multiw-1 multiw-2 misc \
multisnd1-pre multisnd2-pre multisnd-post
@@ -55,6 +55,8 @@ endif
# you're reading this in Makefile augmented by hints, that may not be true).
#
#-INCLUDE cross-pre1.370
#-INCLUDE multiw-2.370
# compiler.370 contains compiler detection and adjustments common
@@ -427,7 +429,7 @@ SYSCONFENSURE = (if ! test -f $(INSTDIR)/sysconf ; then \
# Install.Qt mentions a patch for macos - it's not there (it seems to be in the Qt binary
# package under the docs directory).
#
#-INCLUDE cross-pre.370
#-INCLUDE cross-pre2.370
#
#
#-INCLUDE gbdates-pre.370
+23 -23
View File
@@ -147,23 +147,22 @@ HACK_H = $(SRC)hack.h-t
# all .c that are part of the main NetHack program and are not operating- or
# windowing-system specific
HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
botl.c cmd.c dbridge.c decl.c detect.c dig.c display.c dlb.c do.c \
do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c drawing.c \
dungeon.c eat.c end.c engrave.c exper.c explode.c extralev.c \
files.c fountain.c hack.c hacklib.c \
botl.c calendar.c cmd.c coloratt.c dbridge.c decl.c detect.c dig.c \
display.c dlb.c do.c do_name.c do_wear.c dog.c dogmove.c dokick.c \
dothrow.c drawing.c dungeon.c eat.c end.c engrave.c exper.c \
explode.c extralev.c files.c fountain.c getpos.c hack.c hacklib.c \
insight.c invent.c light.c lock.c \
mail.c makemon.c mcastu.c mhitm.c mhitu.c minion.c \
mklev.c mkmap.c \
mkmaze.c mkobj.c mkroom.c mon.c mondata.c monmove.c monst.c \
mplayer.c mthrowu.c muse.c music.c o_init.c objects.c objnam.c \
options.c pager.c pickup.c pline.c polyself.c potion.c pray.c \
priest.c quest.c questpgr.c read.c rect.c region.c restore.c \
rip.c rnd.c role.c \
rumors.c save.c shk.c shknam.c sit.c sounds.c sp_lev.c spell.c \
steal.c steed.c sys.c teleport.c timeout.c topten.c track.c \
trap.c u_init.c \
uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
windows.c wizard.c worm.c worn.c write.c zap.c
mklev.c mkmap.c mkmaze.c mkobj.c mkroom.c mon.c mondata.c \
monmove.c monst.c mplayer.c mthrowu.c muse.c music.c o_init.c \
objects.c objnam.c options.c pager.c pickup.c pline.c polyself.c \
potion.c pray.c priest.c quest.c questpgr.c read.c rect.c \
region.c report.c restore.c rip.c rnd.c role.c rumors.c save.c \
selvar.c sfstruct.c shk.c shknam.c sit.c sounds.c sp_lev.c \
spell.c stairs.c steal.c steed.c strutil.c sys.c teleport.c \
timeout.c topten.c track.c trap.c u_init.c uhitm.c vault.c \
version.c vision.c weapon.c were.c wield.c windows.c wizard.c \
wizcmds.c worm.c worn.c write.c zap.c
#-# generated source files (vis_tab.c is gone; tile.c is handled separately
#-# via WINxxxSRC)
@@ -178,7 +177,7 @@ VERSOURCES = $(HACKCSRC) $(SYSSRC) $(WINSRC) $(RANDSRC) $(GENCSRC)
HACKINCL = align.h artifact.h artilist.h attrib.h color.h \
config.h config1.h context.h coord.h decl.h defsym.h display.h \
dlb.h dungeon.h engrave.h extern.h flag.h func_tab.h global.h \
hack.h mextra.h mfndpos.h micro.h mkroom.h \
hack.h hacklib.h mextra.h mfndpos.h micro.h mkroom.h \
monattk.h mondata.h monflag.h monst.h sym.h obj.h objclass.h \
patchlevel.h pcconf.h permonst.h prop.h rect.h \
region.h sym.h defsym.h rm.h sp_lev.h spell.h sys.h system.h \
@@ -192,11 +191,12 @@ FIRSTOBJ = vmsmisc.obj,vmsfiles.obj,monst.obj,objects.obj
# split up long list so that we can write pieces of it into nethack.opt
HOBJ1 = allmain.obj,alloc.obj,apply.obj,artifact.obj,attrib.obj, \
ball.obj,bones.obj,botl.obj,cmd.obj,dbridge.obj,decl.obj, \
detect.obj,dig.obj,display.obj,dlb.obj,do.obj,do_name.obj,do_wear.obj
ball.obj,bones.obj,botl.obj,calendar.obj,cmd.obj,coloratt.obj, \
dbridge.obj,decl.obj,detect.obj,dig.obj,display.obj,dlb.obj, \
do.obj,do_name.obj,do_wear.obj
HOBJ2 = dog.obj,dogmove.obj,dokick.obj,dothrow.obj,drawing.obj, \
dungeon.obj,eat.obj,end.obj,engrave.obj,exper.obj,explode.obj, \
extralev.obj,files.obj,fountain.obj,hack.obj,hacklib.obj, \
extralev.obj,files.obj,fountain.obj,getpos.obj,hack.obj,hacklib.obj, \
insight.obj,invent.obj
HOBJ3 = light.obj,lock.obj,mail.obj,makemon.obj,mcastu.obj, \
mhitm.obj,mhitu.obj,minion.obj,mklev.obj,mkmap.obj,mkmaze.obj, \
@@ -205,11 +205,11 @@ HOBJ4 = mplayer.obj,mthrowu.obj,muse.obj,music.obj,o_init.obj,objnam.obj, \
options.obj,pager.obj,pickup.obj,pline.obj,polyself.obj, \
potion.obj,pray.obj,priest.obj,quest.obj,questpgr.obj,read.obj
HOBJ5 = rect.obj,region.obj,restore.obj,rip.obj,rnd.obj,role.obj, \
rumors.obj,save.obj,sfstruct.obj,shk.obj,shknam.obj,sit.obj, \
sounds.obj,sp_lev.obj,spell.obj,steal.obj,steed.obj,sys.obj, \
rumors.obj,save.obj,selvar.obj,sfstruct.obj,shk.obj,shknam.obj,sit.obj, \
sounds.obj,sp_lev.obj,spell.obj,stairs.obj,steal.obj,steed.obj,sys.obj, \
teleport.obj,timeout.obj,topten.obj, track.obj,trap.obj
HOBJ6 = u_init.obj,uhitm.obj,vault.obj,vision.obj,weapon.obj, \
were.obj,wield.obj,windows.obj,wizard.obj,worm.obj,worn.obj, \
HOBJ6 = u_init.obj,uhitm.obj,utf8map.obj,vault.obj,vision.obj,weapon.obj, \
were.obj,wield.obj,windows.obj,wizard.obj,wizcmds.obj,worm.obj,worn.obj, \
write.obj,zap.obj,version.obj
HOBJ = $(FIRSTOBJ) $(SYSOBJ) $(WINOBJ) $(RANDOBJ) \
$(HOBJ1) $(HOBJ2) $(HOBJ3) $(HOBJ4) $(HOBJ5) $(HOBJ6)
+9 -8
View File
@@ -420,10 +420,10 @@ $ c_list = "decl,version,[-.sys.vms]vmsunix" -
$ gosub compile_list
$ c_list = interface !ttysrc or cursessrc or both
$ gosub compile_list
$ c_list = "allmain,apply,artifact,attrib,ball,bones,botl,cmd,dbridge" -
+ ",dothrow,drawing,detect,dig,display,do,do_name,do_wear,dog" -
+ ",dogmove,dokick,dungeon,eat,end,engrave,exper,explode" -
+ ",extralev,files,fountain"
$ c_list = "allmain,apply,artifact,attrib,ball,bones,botl,calendar,cmd" -
+ ",coloratt,dbridge,dothrow,drawing,detect,dig,display,do,do_name" -
+ ",do_wear,dog,dogmove,dokick,dungeon,eat,end,engrave,exper,explode" -
+ ",extralev,files,fountain,getpos"
$ gosub compile_list
$ c_list = "hack,hacklib,insight,invent,light,lock,mail,makemon" -
+ ",mcastu,mdlib,mhitm,mhitu,minion,mklev,mkmap,mkmaze" -
@@ -437,12 +437,13 @@ $ c_list = "nhlua,nhlobj,nhlsel"
$ gosub compile_list
$ c_list = "o_init,objnam,options,pager,pickup" -
+ ",pline,polyself,potion,pray,priest,quest,questpgr,read" -
+ ",rect,region,restore,rip,rnd,role,rumors,save,sfstruct,shk" -
+ ",shknam,sit,sounds,sp_lev,spell,steal,steed,symbols" -
+ ",sys,teleport,timeout,topten,track,trap,utf8map,u_init"
+ ",rect,region,report,restore,rip,rnd,role,rumors,save,selvar" -
+ ",sfstruct,shk,shknam,sit,sounds,sp_lev,spell,stairs,steal" -
+ ",steed,strutil,symbols,sys,teleport,timeout,topten,track" -
+ ",trap,u_init,utf8map"
$ gosub compile_list
$ c_list = "uhitm,vault,vision,weapon,were,wield,windows" -
+ ",wizard,worm,worn,write,zap"
+ ",wizard,wizcmds,worm,worn,write,zap"
$ gosub compile_list
$!
$link:
+40 -14
View File
@@ -458,6 +458,29 @@ LUALIST = air Arc-fila Arc-filb Arc-goal Arc-loca Arc-strt \
LUAFILES = $(addprefix $(DAT)/, $(addsuffix .lua, $(LUALIST)))
#==========================================
# Hacklib
#==========================================
HACKLIBLIST = hacklib
HACKLIBSRC = $(addprefix ../src/,$(addsuffix .c, $(HACKLIBLIST)))
HL = $(O)hacklib
HLHACKLIB = $(HL)/hacklib.a
HLHACKLIBOBJS = $(addprefix $(HL)/, $(addsuffix .o, $(HACKLIBLIST)))
HLTARGETS = $(HLHACKLIB) $(HLHACKLIBOBJS)
$(HL)/hacklib.a: $(HLHACKLIBOBJS)
ar rcs $@ $^
$(HL)/hacklib.o: $(HACKLIBSRC) | $(HL)
$(HL)/%.o: $(SRC)/%.c | $(HL)
$(cc) $(CFLAGSU) $< -o$@
$(HL):
@mkdir -p $@
CLEAN_DIR += $(HL)
CLEAN_FILE += $(HLTARGETS)
#==========================================
# Makedefs
#==========================================
@@ -467,7 +490,7 @@ MTARGETS = $(U)makedefs.exe
makedefs: $(MTARGETS)
$(U)makedefs.exe: $(MOBJS)
$(U)makedefs.exe: $(MOBJS) $(HLHACKLIB)
$(ld) $(LDFLAGS) $^ -o$@
$(OM)/%.o: $(SRC)/%.c $(NHLUAH) | $(OM)
@@ -579,8 +602,8 @@ TTARGETS = $(U)tile2bmp.exe
tile2bmp: $(TTARGETS)
$(U)tile2bmp.exe: $(TOBJS)
$(ld) $(LDFLAGS) $^ -o$@
$(U)tile2bmp.exe: $(TOBJS) $(HLHACKLIB)
$(ld) $(LDFLAGS) $(HLHACKLIB) $^ -o$@
$(OT)/tiletxt.o: $(WSHR)/tilemap.c $(NHLUAH) | $(OT)
$(cc) $(CFLAGSU) -DTILETEXT $< -o$@
@@ -662,8 +685,8 @@ tilemap: $(SRC)/tile.c
$(SRC)/tile.c: $(U)tilemap.exe
$<
$(U)tilemap.exe: $(TMOBJS)
$(ld) $(LDFLAGS) $^ -o$@
$(U)tilemap.exe: $(TMOBJS) $(HLHACKLIB)
$(ld) $(LDFLAGS) $(HLHACKLIB) $^ -o$@
$(OTM)/tilemap.o: $(WSHR)/tilemap.c $(NHLUAH) | $(OTM)
$(cc) $(CFLAGSU) $< -o$@
@@ -716,8 +739,8 @@ DTARGETS = $(U)dlb.exe $(DAT_CLEAN) $(DLBLST) $(DLB)
dlb: $(DTARGETS)
$(U)dlb.exe: $(DLBOBJS)
$(ld) $(LDFLAGS) $^ -o$@
$(U)dlb.exe: $(DLBOBJS) $(HLHACKLIB)
$(ld) $(LDFLAGS) $(HLHACKLIB) $^ -o$@
$(ODLB)/%.o: $(SRC)/%.c $(NHLUAH) | $(ODLB)
$(cc) $(CFLAGSU) $< -o$@
@@ -961,17 +984,18 @@ endif # HAVE_SOUNDLIB
# nethackw
#==========================================
COREOBJS = $(addsuffix .o, allmain alloc apply artifact attrib ball bones botl \
coloratt cmd cppregex \
calendar coloratt cmd cppregex \
dbridge decl detect dig display dlb do do_name do_wear \
dog dogmove dokick dothrow drawing dungeon \
eat end engrave exper explode extralev files fountain \
hack hacklib insight invent isaac64 light lock \
getpos hack insight invent isaac64 light lock \
mail makemon mcastu mdlib mhitm mhitu minion mklev mkmap mkmaze mkobj mkroom \
mon mondata monmove monst mplayer mthrowu muse music \
nhlobj nhlsel nhlua windsound o_init objects objnam options \
pager pickup pline polyself potion pray priest quest questpgr \
random read rect region restore rip rnd role rumors \
safeproc save sfstruct shk shknam sit sounds sp_lev spell steal steed \
random read rect region report restore rip rnd role rumors \
safeproc save sfstruct shk shknam sit selvar sounds sp_lev \
spell stairs steal steed strutil \
symbols sys teleport timeout topten track trap u_init uhitm utf8map \
vault version vision weapon were wield windmain windows windsys wizard \
worm worn write zap $(SOUNDLIBOBJS))
@@ -1006,7 +1030,8 @@ endif
nethackw: $(NHWTARGETS)
$(GAMEDIR)/NetHackW.exe: $(NHWOBJS) $(NHWRES) $(DATEW_O) $(LUALIB) $(PDCWLIB) | $(GAMEDIR)
$(ld) $(LDFLAGS) -mwindows $^ $(LIBS) -static -lstdc++ $(SOUNDLIBLIBS) -o$@
$(ld) $(LDFLAGS) -mwindows $^ $(HLHACKLIB) $(LIBS) -static -lstdc++ \
$(SOUNDLIBLIBS) -o$@
$(ONHW)/%.o: $(SRC)/%.c $(NHLUAH) | $(ONHW)
$(cc) $(CFLAGSW) $< -o$@
@@ -1096,8 +1121,9 @@ NHTARGET = $(GAMEDIR)/NetHack.exe
nethack: $(NHTARGET)
$(GAMEDIR)/NetHack.exe: $(NHOBJS) $(NHRES) $(DATE_O) $(LUALIB) $(PDCLIB) $(SOUNDLIBLIBS) | $(GAMEDIR)
$(ld) $(LDFLAGS) -mconsole $^ $(LIBS) -static -lstdc++ -o$@
$(GAMEDIR)/NetHack.exe: $(NHOBJS) $(NHRES) $(DATE_O) $(LUALIB) $(PDCLIB) \
$(SOUNDLIBLIBS) | $(GAMEDIR)
$(ld) $(LDFLAGS) -mconsole $^ $(HLHACKLIB) $(LIBS) -static -lstdc++ -o$@
$(ONH)/%.o: $(SRC)/%.c $(NHLUAH) | $(ONH)
$(cc) $(CFLAGSNH) $< -o$@
+4 -1
View File
@@ -9,6 +9,9 @@ cce = gcc -E -MM -MT "$(@:d=o) $@"
# Run
# mingw32-make depend
$(HL)/%.d: $(SRC)/%.c | $(HL)
$(cce) $(CFLAGSU) $< -o$@
$(OM)/%.d: $(SRC)/%.c $(NHLUAH) | $(OM)
$(cce) $(CFLAGSU) -DENUM_PM $< -o$@
@@ -108,7 +111,7 @@ $(ONH)/%.d: $(TTY)/%.c $(NHLUAH) | $(ONH)
$(ONH)/%.d: $(WCURSES)/%.c $(NHLUAH) | $(ONH)
$(cce) $(CFLAGSNH) $(PDCINCL) $< -o$@
OBJS4DEP = $(MOBJS) $(ROBJS) \
OBJS4DEP = $(MOBJS) $(ROBJS) $(HLHACKLIBOBJS) \
$(TOBJS) $(GIFOBJ) $(GIF32OBJ) $(PPMOBJ) $(BMP32OBJ) $(T32OBJS) $(TUCOMMON) \
$(TMOBJS) $(UOBJS) $(DLBOBJS) $(NHWOBJS) $(NHOBJS)
DEP_TARGETS = $(OBJS4DEP:o=d)
+92 -65
View File
@@ -495,8 +495,8 @@ HACKINCL = $(INCL)\align.h $(INCL)\artifact.h $(INCL)\artilist.h \
$(INCL)\monsters.h $(INCL)\obj.h $(INCL)\objects.h $(INCL)\objclass.h \
$(INCL)\optlist.h $(INCL)\patchlevel.h $(INCL)\pcconf.h \
$(INCL)\permonst.h $(INCL)\prop.h $(INCL)\rect.h $(INCL)\region.h \
$(INCL)\sym.h $(INCL)\defsym.h $(INCL)\rm.h $(INCL)\sp_lev.h \
$(INCL)\spell.h $(INCL)\sys.h $(INCL)\cstd.h $(INCL)\tcap.h \
$(INCL)\sym.h $(INCL)\defsym.h $(INCL)\rm.h $(INCL)\selvar.h $(INCL)\sp_lev.h \
$(INCL)\spell.h $(INCL)\stairs.h $(INCL)\sys.h $(INCL)\cstd.h $(INCL)\tcap.h \
$(INCL)\timeout.h $(INCL)\tradstdc.h $(INCL)\trap.h \
$(INCL)\unixconf.h $(INCL)\vision.h $(INCL)\vmsconf.h \
$(INCL)\wintty.h $(INCL)\wincurs.h $(INCL)\winX.h \
@@ -506,10 +506,10 @@ HACKINCL = $(INCL)\align.h $(INCL)\artifact.h $(INCL)\artilist.h \
# all .c that are part of the main NetHack program and are not operating- or
# windowing-system specific
HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
botl.c coloratt.c cmd.c dbridge.c decl.c detect.c dig.c display.c \
botl.c calendar.c cmd.c coloratt.c dbridge.c decl.c detect.c dig.c display.c \
dlb.c do.c do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c \
drawing.c dungeon.c eat.c end.c engrave.c exper.c explode.c \
extralev.c files.c fountain.c hack.c hacklib.c \
files.c fountain.c hack.c \
insight.c invent.c isaac64.c light.c \
lock.c mail.c makemon.c mcastu.c mdlib.c mhitm.c \
mhitu.c minion.c mklev.c mkmap.c mkmaze.c mkobj.c mkroom.c mon.c \
@@ -630,6 +630,14 @@ CURSESDEF2=-DCURSES_UNICODE $(PDCURSESFLAGS)
!UNDEF PDCWINGUILIB
!ENDIF
OUTLHACKLIBOBJS = $(OUTL)hacklib.o
OTTYHACKLIBOBJS = $(OTTY)hacklib.o
OGUIHACKLIBOBJS = $(OGUI)hacklib.o
OUTLHACKLIB = $(OUTL)hacklib-$(TARGET_CPU)-static.lib
OTTYHACKLIB = $(OTTY)hacklib-$(TARGET_CPU)-static.lib
OGUIHACKLIB = $(OGUI)hacklib-$(TARGET_CPU)-static.lib
#
# - TTY
#
@@ -650,32 +658,33 @@ TTYOBJ = $(OTTY)topl.o $(OTTY)getline.o $(OTTY)wintty.o
VTTYOBJ01 = $(OTTY)allmain.o $(OTTY)alloc.o $(OTTY)apply.o $(OTTY)artifact.o
VTTYOBJ02 = $(OTTY)attrib.o $(OTTY)ball.o $(OTTY)bones.o $(OTTY)botl.o
VTTYOBJ03 = $(OTTY)coloratt.o $(OTTY)cmd.o $(OTTY)dbridge.o $(OTTY)decl.o $(OTTY)detect.o
VTTYOBJ04 = $(OTTY)dig.o $(OTTY)display.o $(OTTY)do.o $(OTTY)do_name.o
VTTYOBJ05 = $(OTTY)do_wear.o $(OTTY)dog.o $(OTTY)dogmove.o $(OTTY)dokick.o
VTTYOBJ03 = $(OTTY)calendar.o $(OTTY)cmd.o $(OTTY)coloratt.o $(OTTY)dbridge.o
VTTYOBJ04 = $(OTTY)decl.o $(OTTY)detect.o $(OTTY)dig.o $(OTTY)display.o $(OTTY)do.o
VTTYOBJ05 = $(OTTY)do_name.o $(OTTY)do_wear.o $(OTTY)dog.o $(OTTY)dogmove.o $(OTTY)dokick.o
VTTYOBJ06 = $(OTTY)dothrow.o $(OTTY)drawing.o $(OTTY)dungeon.o $(OTTY)eat.o
VTTYOBJ07 = $(OTTY)end.o $(OTTY)engrave.o $(OTTY)exper.o $(OTTY)explode.o
VTTYOBJ08 = $(OTTY)extralev.o $(OTTY)files.o $(OTTY)fountain.o $(OTTY)hack.o
VTTYOBJ09 = $(OTTY)hacklib.o $(OTTY)insight.o $(OTTY)invent.o $(OTTY)isaac64.o
VTTYOBJ10 = $(OTTY)light.o $(OTTY)lock.o $(OTTY)mail.o $(OTTY)makemon.o
VTTYOBJ11 = $(OTTY)mcastu.o $(OTTY)mhitm.o $(OTTY)mhitu.o $(OTTY)minion.o
VTTYOBJ12 = $(OTTY)mklev.o $(OTTY)mkmap.o $(OTTY)mkmaze.o $(OTTY)mkobj.o
VTTYOBJ13 = $(OTTY)mkroom.o $(OTTY)mon.o $(OTTY)mondata.o $(OTTY)monmove.o
VTTYOBJ14 = $(OTTY)monst.o $(OTTY)mplayer.o $(OTTY)mthrowu.o $(OTTY)muse.o
VTTYOBJ15 = $(OTTY)music.o $(OTTY)o_init.o $(OTTY)objects.o $(OTTY)objnam.o
VTTYOBJ16 = $(OTTY)options.o $(OTTY)pager.o $(OTTY)pickup.o $(OTTY)pline.o
VTTYOBJ17 = $(OTTY)polyself.o $(OTTY)potion.o $(OTTY)pray.o $(OTTY)priest.o
VTTYOBJ18 = $(OTTY)quest.o $(OTTY)questpgr.o $(RANDOM) $(OTTY)read.o
VTTYOBJ19 = $(OTTY)rect.o $(OTTY)region.o $(OTTY)restore.o $(OTTY)rip.o
VTTYOBJ20 = $(OTTY)rnd.o $(OTTY)role.o $(OTTY)rumors.o $(OTTY)save.o
VTTYOBJ21 = $(OTTY)sfstruct.o $(OTTY)shk.o $(OTTY)shknam.o $(OTTY)sit.o
VTTYOBJ22 = $(OTTY)sounds.o $(OTTY)sp_lev.o $(OTTY)spell.o $(OTTY)steal.o
VTTYOBJ23 = $(OTTY)steed.o $(OTTY)symbols.o $(OTTY)sys.o $(OTTY)teleport.o
VTTYOBJ24 = $(OTTY)timeout.o $(OTTY)topten.o $(OTTY)track.o $(OTTY)trap.o
VTTYOBJ25 = $(OTTY)u_init.o $(OTTY)uhitm.o $(OTTY)utf8map.o $(OTTY)vault.o
VTTYOBJ26 = $(OTTY)vision.o $(OTTY)weapon.o $(OTTY)were.o $(OTTY)wield.o
VTTYOBJ27 = $(OTTY)windows.o $(OTTY)wizard.o $(OTTY)worm.o $(OTTY)worn.o
VTTYOBJ28 = $(OTTY)write.o $(OTTY)zap.o
VTTYOBJ08 = $(OTTY)extralev.o $(OTTY)files.o $(OTTY)fountain.o $(OTTY)getpos.o
VTTYOBJ09 = $(OTTY)hack.o $(OTTY)insight.o $(OTTY)invent.o
VTTYOBJ10 = $(OTTY)isaac64.o $(OTTY)light.o $(OTTY)lock.o $(OTTY)mail.o
VTTYOBJ11 = $(OTTY)makemon.o $(OTTY)mcastu.o $(OTTY)mhitm.o $(OTTY)mhitu.o
VTTYOBJ12 = $(OTTY)minion.o $(OTTY)mklev.o $(OTTY)mkmap.o $(OTTY)mkmaze.o
VTTYOBJ13 = $(OTTY)mkobj.o $(OTTY)mkroom.o $(OTTY)mon.o $(OTTY)mondata.o
VTTYOBJ14 = $(OTTY)monmove.o $(OTTY)monst.o $(OTTY)mplayer.o $(OTTY)mthrowu.o
VTTYOBJ15 = $(OTTY)muse.o $(OTTY)music.o $(OTTY)o_init.o $(OTTY)objects.o
VTTYOBJ16 = $(OTTY)objnam.o $(OTTY)options.o $(OTTY)pager.o $(OTTY)pickup.o
VTTYOBJ17 = $(OTTY)pline.o $(OTTY)polyself.o $(OTTY)potion.o $(OTTY)pray.o
VTTYOBJ18 = $(OTTY)priest.o $(OTTY)quest.o $(OTTY)questpgr.o $(RANDOM)
VTTYOBJ19 = $(OTTY)read.o $(OTTY)rect.o $(OTTY)region.o $(OTTY)report.o $(OTTY)restore.o
VTTYOBJ20 = $(OTTY)rip.o $(OTTY)rnd.o $(OTTY)role.o $(OTTY)rumors.o
VTTYOBJ21 = $(OTTY)save.o $(OTTY)selvar.o $(OTTY)sfstruct.o $(OTTY)shk.o
VTTYOBJ22 = $(OTTY)shknam.o $(OTTY)sit.o $(OTTY)sounds.o $(OTTY)sp_lev.o
VTTYOBJ23 = $(OTTY)spell.o $(OTTY)stairs.o $(OTTY)steal.o $(OTTY)steed.o
VTTYOBJ24 = $(OTTY)strutil.o $(OTTY)symbols.o $(OTTY)sys.o $(OTTY)teleport.o $(OTTY)timeout.o
VTTYOBJ25 = $(OTTY)topten.o $(OTTY)track.o $(OTTY)trap.o $(OTTY)u_init.o
VTTYOBJ26 = $(OTTY)uhitm.o $(OTTY)utf8map.o $(OTTY)vault.o $(OTTY)vision.o
VTTYOBJ27 = $(OTTY)weapon.o $(OTTY)were.o $(OTTY)wield.o $(OTTY)windows.o
VTTYOBJ28 = $(OTTY)wizard.o $(OTTY)wizcmds.o $(OTTY)worm.o $(OTTY)worn.o
VTTYOBJ29 = $(OTTY)write.o $(OTTY)zap.o
OBJSTTY = $(MDLIBTTY) \
$(VTTYOBJ01) $(VTTYOBJ02) $(VTTYOBJ03) $(VTTYOBJ04) $(VTTYOBJ05) \
@@ -717,32 +726,33 @@ GUIOBJ = $(OGUI)mhaskyn.o $(OGUI)mhdlg.o \
VGUIOBJ01 = $(OGUI)allmain.o $(OGUI)alloc.o $(OGUI)apply.o $(OGUI)artifact.o
VGUIOBJ02 = $(OGUI)attrib.o $(OGUI)ball.o $(OGUI)bones.o $(OGUI)botl.o
VGUIOBJ03 = $(OGUI)coloratt.o $(OGUI)cmd.o $(OGUI)dbridge.o $(OGUI)decl.o $(OGUI)detect.o
VGUIOBJ04 = $(OGUI)dig.o $(OGUI)display.o $(OGUI)do.o $(OGUI)do_name.o
VGUIOBJ03 = $(OGUI)calendar.o $(OGUI)cmd.o $(OGUI)coloratt.o $(OGUI)dbridge.o $(OGUI)decl.o
VGUIOBJ04 = $(OGUI)detect.o $(OGUI)dig.o $(OGUI)display.o $(OGUI)do.o $(OGUI)do_name.o
VGUIOBJ05 = $(OGUI)do_wear.o $(OGUI)dog.o $(OGUI)dogmove.o $(OGUI)dokick.o
VGUIOBJ06 = $(OGUI)dothrow.o $(OGUI)drawing.o $(OGUI)dungeon.o $(OGUI)eat.o
VGUIOBJ07 = $(OGUI)end.o $(OGUI)engrave.o $(OGUI)exper.o $(OGUI)explode.o
VGUIOBJ08 = $(OGUI)extralev.o $(OGUI)files.o $(OGUI)fountain.o $(OGUI)hack.o
VGUIOBJ09 = $(OGUI)hacklib.o $(OGUI)insight.o $(OGUI)invent.o $(OGUI)isaac64.o
VGUIOBJ10 = $(OGUI)light.o $(OGUI)lock.o $(OGUI)mail.o $(OGUI)makemon.o
VGUIOBJ11 = $(OGUI)mcastu.o $(OGUI)mhitm.o $(OGUI)mhitu.o $(OGUI)minion.o
VGUIOBJ12 = $(OGUI)mklev.o $(OGUI)mkmap.o $(OGUI)mkmaze.o $(OGUI)mkobj.o
VGUIOBJ13 = $(OGUI)mkroom.o $(OGUI)mon.o $(OGUI)mondata.o $(OGUI)monmove.o
VGUIOBJ14 = $(OGUI)monst.o $(OGUI)mplayer.o $(OGUI)mthrowu.o $(OGUI)muse.o
VGUIOBJ15 = $(OGUI)music.o $(OGUI)o_init.o $(OGUI)objects.o $(OGUI)objnam.o
VGUIOBJ16 = $(OGUI)options.o $(OGUI)pager.o $(OGUI)pickup.o $(OGUI)pline.o
VGUIOBJ17 = $(OGUI)polyself.o $(OGUI)potion.o $(OGUI)pray.o $(OGUI)priest.o
VGUIOBJ18 = $(OGUI)quest.o $(OGUI)questpgr.o $(RANDOMGUI) $(OGUI)read.o
VGUIOBJ19 = $(OGUI)rect.o $(OGUI)region.o $(OGUI)restore.o $(OGUI)rip.o
VGUIOBJ20 = $(OGUI)rnd.o $(OGUI)role.o $(OGUI)rumors.o $(OGUI)save.o
VGUIOBJ21 = $(OGUI)sfstruct.o $(OGUI)shk.o $(OGUI)shknam.o $(OGUI)sit.o
VGUIOBJ22 = $(OGUI)sounds.o $(OGUI)sp_lev.o $(OGUI)spell.o $(OGUI)steal.o
VGUIOBJ23 = $(OGUI)steed.o $(OGUI)symbols.o $(OGUI)sys.o $(OGUI)teleport.o
VGUIOBJ24 = $(OGUI)timeout.o $(OGUI)topten.o $(OGUI)track.o $(OGUI)trap.o
VGUIOBJ25 = $(OGUI)u_init.o $(OGUI)uhitm.o $(OGUI)utf8map.o $(OGUI)vault.o
VGUIOBJ26 = $(OGUI)vision.o $(OGUI)weapon.o $(OGUI)were.o $(OGUI)wield.o
VGUIOBJ27 = $(OGUI)windows.o $(OGUI)wizard.o $(OGUI)worm.o $(OGUI)worn.o
VGUIOBJ28 = $(OGUI)write.o $(OGUI)zap.o
VGUIOBJ08 = $(OGUI)extralev.o $(OGUI)files.o $(OGUI)fountain.o $(OGUI)getpos.o
VGUIOBJ09 = $(OGUI)hack.o $(OGUI)insight.o $(OGUI)invent.o
VGUIOBJ10 = $(OGUI)isaac64.o $(OGUI)light.o $(OGUI)lock.o $(OGUI)mail.o
VGUIOBJ11 = $(OGUI)makemon.o $(OGUI)mcastu.o $(OGUI)mhitm.o $(OGUI)mhitu.o
VGUIOBJ12 = $(OGUI)minion.o $(OGUI)mklev.o $(OGUI)mkmap.o $(OGUI)mkmaze.o
VGUIOBJ13 = $(OGUI)mkobj.o $(OGUI)mkroom.o $(OGUI)mon.o $(OGUI)mondata.o
VGUIOBJ14 = $(OGUI)monmove.o $(OGUI)monst.o $(OGUI)mplayer.o $(OGUI)mthrowu.o
VGUIOBJ15 = $(OGUI)muse.o $(OGUI)music.o $(OGUI)o_init.o $(OGUI)objects.o
VGUIOBJ16 = $(OGUI)objnam.o $(OGUI)options.o $(OGUI)pager.o $(OGUI)pickup.o
VGUIOBJ17 = $(OGUI)pline.o $(OGUI)polyself.o $(OGUI)potion.o $(OGUI)pray.o
VGUIOBJ18 = $(OGUI)priest.o $(OGUI)quest.o $(OGUI)questpgr.o $(RANDOMGUI)
VGUIOBJ19 = $(OGUI)read.o $(OGUI)rect.o $(OGUI)region.o $(OGUI)report.o $(OGUI)restore.o
VGUIOBJ20 = $(OGUI)rip.o $(OGUI)rnd.o $(OGUI)role.o $(OGUI)rumors.o
VGUIOBJ21 = $(OGUI)save.o $(OGUI)selvar.o $(OGUI)sfstruct.o $(OGUI)shk.o
VGUIOBJ22 = $(OGUI)shknam.o $(OGUI)sit.o $(OGUI)sounds.o $(OGUI)sp_lev.o
VGUIOBJ23 = $(OGUI)spell.o $(OGUI)stairs.o $(OGUI)steal.o $(OGUI)steed.o
VGUIOBJ24 = $(OGUI)strutil.o $(OGUI)symbols.o $(OGUI)sys.o $(OGUI)teleport.o $(OGUI)timeout.o
VGUIOBJ25 = $(OGUI)topten.o $(OGUI)track.o $(OGUI)trap.o $(OGUI)u_init.o
VGUIOBJ26 = $(OGUI)uhitm.o $(OGUI)utf8map.o $(OGUI)vault.o $(OGUI)vision.o
VGUIOBJ27 = $(OGUI)weapon.o $(OGUI)were.o $(OGUI)wield.o $(OGUI)windows.o
VGUIOBJ28 = $(OGUI)wizard.o $(OGUI)wizcmds.o $(OGUI)worm.o $(OGUI)worn.o
VGUIOBJ29 = $(OGUI)write.o $(OGUI)zap.o
OBJSGUI = $(MDLIBGUI) \
$(VGUIOBJ01) $(VGUIOBJ02) $(VGUIOBJ03) $(VGUIOBJ04) $(VGUIOBJ05) \
@@ -1456,11 +1466,11 @@ GAMEOBJ=$(GAMEOBJ:^ =^
$(GAMEDIR)\NetHack.exe : gamedir.tag $(OTTY)consoletty.o \
$(ALLOBJTTY) $(CURSESWINCONOBJS) \
$(TTYSOUNDOBJS) $(OTTY)date.o $(OTTY)console.res \
$(LUALIB) $(TTYOBJ) $(PDCWINCONLIB) $(PDCWINCONOBJS)
$(LUALIB) $(TTYOBJ) $(PDCWINCONLIB) $(PDCWINCONOBJS) $(OTTYHACKLIB)
@if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
@echo Linking $(@:\=/)
$(link) $(LFLAGS) $(conlflags) /STACK:2048 /PDB:$(GAMEDIR)\$(@B).PDB /MAP:$(OTTY)$(@B).MAP \
$(LIBS) $(PDCWINCONLIB) $(LUALIB) $(TTYSOUNDLIBS) \
$(LIBS) $(PDCWINCONLIB) $(LUALIB) $(TTYSOUNDLIBS) $(OTTYHACKLIB) \
$(conlibs) $(BCRYPT) -out:$@ @<<$(@B).lnk
$(GAMEOBJTTY)
$(ALLOBJTTY)
@@ -1480,12 +1490,12 @@ $(GAMEDIR)\NetHackW.exe : gamedir.tag $(OGUI)tile.o \
$(ALLOBJGUI) $(GAMEOBJGUI) $(GUIOBJ) $(GUISOUNDOBJS) \
$(CURSESWINGUIOBJS) $(OGUI)date.o \
$(OGUI)NetHackW.res \
$(LUALIB) $(PDCWINGUILIB) $(PDCWINGUIOBJS)
$(LUALIB) $(PDCWINGUILIB) $(PDCWINGUIOBJS) $(OGUIHACKLIB)
@if not exist $(GAMEDIR)\*.* mkdir $(GAMEDIR)
@echo Linking $(@:\=/)
$(link) $(LFLAGS) $(guilflags) /STACK:2048 /PDB:$(GAMEDIR)\$(@B).PDB \
/MAP:$(OGUI)$(@B).MAP $(LIBS) $(PDCWINGUILIB) $(LUALIB) \
$(GUISOUNDLIBS) \
$(GUISOUNDLIBS) $(OGUIHACKLIB) \
$(guilibs) $(COMCTRL) $(BCRYPT) -out:$@ @<<$(@B).lnk
$(GAMEOBJGUI)
$(ALLOBJGUI)
@@ -1547,7 +1557,7 @@ 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
$(OUTL)utility.tag: $(INCL)\nhlua.h outldir$(TARGET_CPU).tag $(U)tile2bmp.exe $(U)makedefs.exe
$(OUTL)utility.tag: $(INCL)\nhlua.h outldir$(TARGET_CPU).tag $(OUTLHACKLIB) $(U)tile2bmp.exe $(U)makedefs.exe
@echo utilities made >$@
@echo utilities made.
@@ -1587,9 +1597,9 @@ $(U)nhsizes3.exe: $(OUTL)nhsizes3.o
$(OUTL)nhsizes3.o: $(CONFIG_H) nhsizes3.c
$(Q)$(CC) $(CFLAGS) $(CROSSCOMPILE) -Fo$@ nhsizes3.c
$(U)makedefs.exe: $(MAKEDEFSOBJS)
$(U)makedefs.exe: $(OUTLHACKLIB) $(MAKEDEFSOBJS)
@echo Linking $(@:\=/)
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" -out:$@ $(MAKEDEFSOBJS)
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" -out:$@ $(MAKEDEFSOBJS) $(OUTLHACKLIB)
$(OUTL)makedefs.o: $(U)makedefs.c $(SRC)\mdlib.c $(CONFIG_H) $(INCL)\permonst.h \
$(INCL)\objclass.h $(INCL)\sym.h $(INCL)\defsym.h \
@@ -1663,6 +1673,23 @@ $(INCL)\onames.h : $(U)makedefs.exe
$(INCL)\pm.h : $(U)makedefs.exe
$(U)makedefs -p
#==========================================
# HACKLIB
#==========================================
$(OUTLHACKLIB): $(OUTLHACKLIBOBJS)
@echo Building library $@ from $**
@$(librarian) /OUT:$@ $(OUTLHACKLIBOBJS)
$(OTTYHACKLIB): $(OTTYHACKLIBOBJS)
@echo Building library $@ from $**
@$(librarian) /OUT:$@ $(OTTYHACKLIBOBJS)
$(OGUIHACKLIB): $(OGUIHACKLIBOBJS)
@echo Building library $@ from $**
@$(librarian) /OUT:$@ $(OGUIHACKLIBOBJS)
#==========================================
# uudecode utility and uuencoded targets
#==========================================
@@ -1802,9 +1829,9 @@ fetch-pdcurses:
# DLB utility and nhdatNNN file creation
#==========================================
$(U)dlb.exe: $(DLBOBJ_HOST) $(OUTL)dlb$(HOST).o
$(U)dlb.exe: $(DLBOBJ_HOST) $(OUTL)dlb$(HOST).o $(OUTLHACKLIB)
@echo Linking $(@:\=/)
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" -out:$@ @<<$(@B).lnk
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" $(OUTLHACKLIB) -out:$@ @<<$(@B).lnk
$(OUTL)dlb_main$(HOST).o
$(OUTL)dlb$(HOST).o
$(OUTL)alloc$(HOST).o
@@ -1886,10 +1913,10 @@ tile.c: $(U)tilemap.exe
@$(U)tilemap
@echo A new $(@:\=/) has been created
$(U)tilemap.exe: $(OUTL)tilemap.o $(OUTL)monst.o $(OUTL)objects.o $(OUTL)drawing.o
$(U)tilemap.exe: $(OUTL)tilemap.o $(OUTL)monst.o $(OUTL)objects.o $(OUTL)drawing.o $(OUTLHACKLIB)
@echo Linking $(@:\=/)
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" -out:$@ \
$(OUTL)tilemap.o $(OUTL)monst.o $(OUTL)objects.o $(OUTL)drawing.o
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" $(HACKLIB) -out:$@ \
$(OUTL)tilemap.o $(OUTL)monst.o $(OUTL)objects.o $(OUTL)drawing.o $(OUTLHACKLIB)
$(OUTL)tilemap.o: $(WSHR)\tilemap.c $(HACK_H)
$(Q)$(CC) $(CFLAGS) $(CROSSCOMPILE) -Fo$@ $(WSHR)\tilemap.c
@@ -1952,7 +1979,7 @@ $(SRC)\tiles.bmp: $(U)tile2bmp.exe $(TILEFILES)
$(U)tile2bmp.exe: $(OUTL)tile2bmp.o $(TEXT_IO)
@echo Linking $(@:\=/)
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" -out:$@ @<<$(@B).lnk
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" $(OUTLHACKLIB) -out:$@ @<<$(@B).lnk
$(OUTL)tile2bmp.o
$(TEXT_IO:^ =^
)
@@ -1960,7 +1987,7 @@ $(U)tile2bmp.exe: $(OUTL)tile2bmp.o $(TEXT_IO)
$(U)til2bm32.exe: $(OUTL)til2bm32.o $(TEXT_IO32)
@echo Linking $(@:\=/)
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" -out:$@ @<<$(@B).lnk
@$(link) $(LFLAGS) /PDB:"$(OUTL)$(@B).PDB" /MAP:"$(OUTL)$(@B).MAP" $(OUTLHACKLIB) -out:$@ @<<$(@B).lnk
$(OUTL)til2bm32.o
$(TEXT_IO32:^ =^
)