# Makefile for dungeon

# Where to install the program
BINDIR = /usr/games

# Where to install the data file
LIBDIR = /usr/games/lib

# The dungeon program provides a ``more'' facility which tries to
# figure out how many rows the terminal has.  Several mechanisms are
# supported for determining this; the most common one has been left
# uncommented.  If you have trouble, especially when linking, you may
# have to select a different option.

# more option 1: use the termcap routines.  On some systems the LIBS
# variable may need to be set to -lcurses.  On some it may need to
# be /usr/lib/termcap.o.  These options are commented out below.
LIBS = -ltermc -lcurse
TERMFLAG =
# LIBS = -lcurse
# LIBS = /usr/lib/termcap.o

# more option 2: use the terminfo routines.  On some systems the LIBS
# variable needs to be -lcursesX, but probably all such systems support
# the termcap routines (option 1) anyhow.
# LIBS = -lcurses
# TERMFLAG = -DMORE_TERMINFO

# more option 3: assume all terminals have 24 rows
# LIBS =
# TERMFLAG = -DMORE_24

# more option 4: don't use the more facility at all
# LIBS =
# TERMFLAG = -DMORE_NONE

# End of more options

# Uncomment the following line if you want to have access to the game
# debugging tool.  This is invoked by typing "gdt".  It is not much
# use except for debugging.
# GDTFLAG = -DALLOW_GDT

# Compilation flags
CFLAGS = -O2 -s -Zomf -Zsys
# On SCO Unix Development System 3.2.2a, the const type qualifier does
# not work correctly when using cc.  The following line will cause it
# to not be used and should be uncommented.  This is also required
# by some other systems.
# CFLAGS= -O -Dconst=

SUFFIXES = .c .obj .exe

##################################################################

# Source files
CSRC =	actors.c ballop.c clockr.c demons.c dgame.c dinit.c dmain.c\
	dso1.c dso2.c dso3.c dso4.c dso5.c dso6.c dso7.c dsub.c dverb1.c\
	dverb2.c gdt.c lightp.c local.c nobjs.c np.c np1.c np2.c np3.c\
	nrooms.c objcts.c rooms.c sobjs.c supp.c sverbs.c verbs.c villns.c

# Object files
OBJS =  actors.obj ballop.obj clockr.obj demons.obj dgame.obj \
	dinit.obj dmain.obj dso1.obj dso2.obj dso3.obj dso4.obj \
	dso5.obj dso6.obj dso7.obj dsub.obj dverb1.obj\
        dverb2.obj gdt.obj lightp.obj local.obj nobjs.obj \
	np.obj np1.obj np2.obj np3.obj nrooms.obj objcts.obj \
	rooms.obj sobjs.obj supp.obj sverbs.obj verbs.obj villns.obj

default:	dungeon.exe	docs

dungeon.exe: $(OBJS) 
	$(CC) $(CFLAGS) -o ..\dungeon.exe $(OBJS) $(LIBS)

docs:	cdungeon.ipf
	ipfc /inf cdungeon.ipf
	copy cdungeon.inf ..
	del cdungeon.inf

install: dungeon dtextc.dat
	cp dungeon $(BINDIR)
	cp dtextc.dat $(LIBDIR)

clean:
	rm -f $(OBJS) dungeon dtextc.dat core dsave.dat *~

dinit.obj: dinit.c funcs.h vars.h
	$(CC) $(CFLAGS) $(GDTFLAG) -c dinit.c 

dgame.obj: dgame.c funcs.h vars.h
	$(CC) $(CFLAGS) $(GDTFLAG) -c dgame.c 

gdt.obj: gdt.c funcs.h vars.h
	$(CC) $(CFLAGS) $(GDTFLAG) -c gdt.c

local.obj: local.c funcs.h vars.h
	$(CC) $(CFLAGS) $(GDTFLAG) -c local.c

supp.obj: supp.c funcs.h vars.h
	$(CC) $(CFLAGS) $(TERMFLAG) -c supp.c	

actors.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c actors.c
ballop.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c ballop.c
clockr.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c clockr.c
demons.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c demons.c
dmain.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dmain.c
dso1.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso1.c
dso2.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso2.c
dso3.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso3.c
dso4.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso4.c
dso5.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso5.c
dso6.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso6.c
dso7.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dso7.c
dsub.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dsub.c
dverb1.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dverb1.c
dverb2.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c dverb2.c
lightp.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c lightp.c
nobjs.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c nobjs.c
np.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c np.c
np1.obj: funcs.h vars.h parse.h
	$(CC) $(CFLAGS) -c np1.c
np2.obj: funcs.h vars.h parse.h
	$(CC) $(CFLAGS) -c np2.c
np3.obj: funcs.h vars.h parse.h
	$(CC) $(CFLAGS) -c np3.c
nrooms.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c nrooms.c
objcts.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c objcts.c
rooms.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c rooms.c
sobjs.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c sobjs.c
sverbs.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c sverbs.c
verbs.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c verbs.c
villns.obj: funcs.h vars.h
	$(CC) $(CFLAGS) -c villns.c
