Lua: remove dgn_comp, use lua instead

This commit is contained in:
Pasi Kallinen
2019-07-14 10:07:11 +03:00
parent fd55d9118e
commit 9cd9280276
19 changed files with 578 additions and 5139 deletions

View File

@@ -11,14 +11,11 @@ NHSROOT=..
VARDAT = bogusmon data engrave epitaph rumors quest.dat oracles options
all: $(VARDAT) spec_levs quest_levs dungeon
all: $(VARDAT) spec_levs quest_levs
../util/makedefs:
(cd ../util ; $(MAKE) makedefs)
../util/dgn_comp:
(cd ../util ; $(MAKE) dgn_comp)
../util/tile2x11:
(cd ../util ; $(MAKE) tile2x11)
@@ -129,12 +126,8 @@ spec_levs:
quest_levs:
touch quest_levs
dungeon: dungeon.def ../util/makedefs ../util/dgn_comp
../util/makedefs -e
../util/dgn_comp dungeon.pdf
spotless:
-rm -f spec_levs quest_levs *.lev $(VARDAT) dungeon dungeon.pdf
-rm -f spec_levs quest_levs *.lev $(VARDAT)
-rm -f nhdat x11tiles beostiles pet_mark.xbm pilemark.xbm rip.xpm mapbg.xpm
-rm -f rip.img GEM_RSC.RSC title.img nh16.img NetHack.ad
-rm -f nhsplash.xpm nhtiles.bmp

View File

@@ -67,26 +67,23 @@ MANEXT = 6
# manual installation for most BSD-style systems
GAMEMANCREATE = cat nethack.6 | $(NHGREP) >
DGNMANCREATE = cat dgn_comp.6 | $(NHGREP) >
RCVRMANCREATE = cat recover.6 | $(NHGREP) >
DLBMANCREATE = cat dlb.6 | $(NHGREP) >
MDMANCREATE = cat makedefs.6 | $(NHGREP) >
# manual installation for most SYSV-style systems
# GAMEMANCREATE = cat nethack.6 | $(NHGREP) | nroff -man - >
# DGNMANCREATE = cat dgn_comp.6 | $(NHGREP) | nroff -man - >
# RCVRMANCREATE = cat recover.6 | $(NHGREP) | nroff -man - >
# DLBMANCREATE = cat dlb.6 | $(NHGREP) | nroff -man - >
# MDMANCREATE = cat makedefs.6 | $(NHGREP) | nroff -man - >
manpages:
-$(GAMEMANCREATE) $(MANDIR)/$(GAME).$(MANEXT)
-$(DGNMANCREATE) $(MANDIR)/dgn_comp.$(MANEXT)
-$(RCVRMANCREATE) $(MANDIR)/recover.$(MANEXT)
-$(DLBMANCREATE) $(MANDIR)/dlb.$(MANEXT)
-$(MDMANCREATE) $(MANDIR)/makedefs.$(MANEXT)
# manual creation for distribution
DISTRIB = Guidebook.txt nethack.txt dgn_comp.txt recover.txt \
DISTRIB = Guidebook.txt nethack.txt recover.txt \
dlb.txt makedefs.txt
distrib: $(DISTRIB)
@@ -97,8 +94,6 @@ Guidebook.txt : Guidebook.mn tmac.n tmac.nh
MAN2TXT = $(NHGREP) | nroff -man - | $(COLCMD)
nethack.txt : nethack.6
cat nethack.6 | $(MAN2TXT) > nethack.txt
dgn_comp.txt : dgn_comp.6
cat dgn_comp.6 | $(MAN2TXT) > dgn_comp.txt
recover.txt : recover.6
cat recover.6 | $(MAN2TXT) > recover.txt
dlb.txt : dlb.6

View File

@@ -491,7 +491,7 @@ CSOURCES = $(HACKCSRC) $(SYSCSRC) $(WINCSRC) $(CHAINSRC) $(GENCSRC)
# all .h files except date.h, onames.h, pm.h, and vis_tab.h which would
# cause dependency loops if run through "make depend"
# and dgn_comp.h, dgn_file.h, special level & dungeon files.
# and dgn_file.h, special level & dungeon files.
#
HACKINCL = align.h amiconf.h artifact.h artilist.h attrib.h beconf.h botl.h \
color.h config.h config1.h context.h coord.h decl.h def_os2.h \
@@ -505,7 +505,7 @@ HACKINCL = align.h amiconf.h artifact.h artilist.h attrib.h beconf.h botl.h \
wincurs.h winX.h winprocs.h wintype.h you.h youprop.h
HSOURCES = $(HACKINCL) date.h onames.h pm.h vis_tab.h \
dgn_comp.h dgn_file.h
dgn_file.h
# the following .o's _must_ be made before any others (for makedefs)
FIRSTOBJ = monst.o objects.o

View File

@@ -88,14 +88,14 @@ SPEC_LEVS = asmodeus.lua baalz.lua bigrm-*.lua castle.lua fakewiz?.lua \
QUEST_LEVS = ???-goal.lua ???-fil?.lua ???-loca.lua ???-strt.lua
DATNODLB = $(VARDATND) license symbols
DATDLB = $(DATHELP) dungeon tribute $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD)
DATDLB = $(DATHELP) dungeon.lua tribute $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD)
DAT = $(DATNODLB) $(DATDLB)
$(GAME):
( cd lib/lua-5.3.5/src && make a && cp liblua.a ../../../src/ )
( cd src ; $(MAKE) )
all: $(GAME) recover Guidebook $(VARDAT) dungeon spec_levs check-dlb
all: $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
true; $(MOREALL)
@echo "Done."
@@ -133,14 +133,10 @@ options: $(GAME)
quest.dat: $(GAME)
( cd dat ; $(MAKE) quest.dat )
spec_levs: dungeon
spec_levs:
( cd dat ; $(MAKE) spec_levs )
( cd dat ; $(MAKE) quest_levs )
dungeon: $(GAME)
( cd util ; $(MAKE) dgn_comp )
( cd dat ; $(MAKE) dungeon )
nhtiles.bmp: $(GAME)
( cd dat ; $(MAKE) nhtiles.bmp )
@@ -237,7 +233,7 @@ dofiles-nodlb:
$(CHGRP) $(GAMEGRP) $(DAT) ; \
chmod $(FILEPERM) $(DAT) )
update: $(GAME) recover $(VARDAT) dungeon spec_levs
update: $(GAME) recover $(VARDAT) spec_levs
# (don't yank the old version out from under people who're playing it)
-mv $(INSTDIR)/$(GAME) $(INSTDIR)/$(GAME).old
# quest.dat is also kept open and has the same problems over NFS
@@ -256,7 +252,7 @@ update: $(GAME) recover $(VARDAT) dungeon spec_levs
rootcheck:
@true; $(ROOTCHECK)
install: rootcheck $(GAME) recover $(VARDAT) dungeon spec_levs
install: rootcheck $(GAME) recover $(VARDAT) spec_levs
true; $(PREINSTALL)
# set up the directories
# not all mkdirs have -p; those that don't will create a -p directory

View File

@@ -186,7 +186,6 @@ HACK_H = ../src/hack.h-t
# utility .c files
MAKESRC = makedefs.c
DGNCOMPSRC = dgn_yacc.c dgn_lex.c dgn_main.c
RECOVSRC = recover.c
DLBSRC = dlb_main.c
UTILSRCS = $(MAKESRC) panic.c $(DGNCOMPSRC) $(RECOVSRC) $(DLBSRC)
@@ -205,9 +204,6 @@ OALLOC = $(OBJDIR)/alloc.o panic.o
# object files for makedefs
MAKEOBJS = makedefs.o $(OMONOBJ)
# object files for dungeon compiler
DGNCOMPOBJS = dgn_yacc.o dgn_lex.o dgn_main.o $(OALLOC)
# object files for recovery utility
RECOVOBJS = recover.o
@@ -267,35 +263,6 @@ lintdefs:
panic.o: panic.c $(CONFIG_H)
# dependencies for dgn_comp
#
dgn_comp: $(DGNCOMPOBJS)
$(CC) $(LFLAGS) -o dgn_comp $(DGNCOMPOBJS) $(LIBS)
dgn_yacc.o: dgn_yacc.c $(CONFIG_H) ../include/dgn_file.h ../include/date.h
dgn_main.o: dgn_main.c $(CONFIG_H) ../include/dlb.h
# see dgn_comp.l for WEIRD_LEX discussion
dgn_lex.o: dgn_lex.c $(CONFIG_H) ../include/dgn_comp.h ../include/dgn_file.h
$(CC) -c $(CFLAGS) -DWEIRD_LEX=`egrep -c _cplusplus dgn_lex.c` dgn_lex.c
# '$(YACC) -d' generates both $(YTABC) and $(YTABH) in one run
../include/dgn_comp.h: dgn_yacc.c
dgn_yacc.c: dgn_comp.y
$(YACC) $(YACCDIST) -d dgn_comp.y
sed -e 's#"$(YTABC)"#"$@"#' -e 's#$(YTABC):#$@:#' $(YTABC) > $@ \
&& rm $(YTABC)
sed -e 's#"$(YTABH)"#"dgn_comp.h"#' $(YTABH) > ../include/dgn_comp.h \
&& rm $(YTABH)
dgn_lex.c: dgn_comp.l
$(LEX) $(FLEXDIST) dgn_comp.l
sed -e 's#"$(LEXYYC)"#"$@"#' -e 's# *$$##' \
-e 's#static void yyunput#void yyunput#' $(LEXYYC) > $@ \
&& rm $(LEXYYC)
# note: <space><space><star> is basic RE substitute for <space><plus>
# with all of extern.h's functions to complain about, we drown in
# 'defined but not used' without -u
lintdgn:
@@ -501,17 +468,7 @@ $(HACK_H): $(CONFIG_H)
$(CONFIG_H): ../include/config.h
@( cd ../src ; $(MAKE) $(CONFIG_H) )
# 'make dist' => put generated lex and yacc sources into place for distribution
SYSSHARE=../sys/share/
$(SYSSHARE)dgn_lex.c: dgn_lex.c
cp dgn_lex.c $@
$(SYSSHARE)dgn_yacc.c: dgn_yacc.c
cp dgn_yacc.c $@
$(SYSSHARE)dgn_comp.h: ../include/dgn_comp.h
cp ../include/dgn_comp.h $@
dist: $(SYSSHARE)dgn_lex.c $(SYSSHARE)dgn_yacc.c $(SYSSHARE)dgn_comp.h
@echo 'pre-generated lex and yacc sources are in place in sys/share'
tags: $(UTILSRCS)
@ctags -tw $(UTILSRCS)
@@ -520,9 +477,7 @@ clean:
-rm -f *.o
spotless: clean
-rm -f dgn_lex.c dgn_yacc.c
-rm -f ../include/dgn_comp.h
-rm -f ../include/tile.h tiletxt.c
-rm -f makedefs dgn_comp recover dlb
-rm -f makedefs recover dlb
-rm -f gif2txt txt2ppm tile2x11 tile2img.ttp xpm2img.ttp \
tilemap tileedit tile2bmp