# LPMud-Makefile for DICE 3.0s dmake -- 01-Nov-95
#   See also README.Amiga.
#
# This makefile is derived from the generic Makefile and is useable only
# with DICE.
# As dmake is not able of conditional makes, any compiler/net dependent
# change must be made by hand.
#
# The first three parts of the makefile define the standard macros, the
# compiler specifics, and the net communication.
# The fourth part contains the generic LPMud rules, the fifth any additional
# rules. There should be no need for modifications in both.

#-----------------------------------------------------------------------------
#			    Standard Configuration
#-----------------------------------------------------------------------------

# The GNU-yacc 'Bison' won't work with Amylaars lang.y, but byacc will.

YACC= byacc
YFLAGS=

# Standard macros

YTAB= y.tab
CP= c:copy
RM= c:delete
MV= c:rename

# Unix has an option '-f' for it's 'rm' - not the Amiga, so I define
#   RMF= $(RM) -f
# and modify it for Amiga as:

RMF= $(RM)

#-----------------------------------------------------------------------------
#			    Compiler Specifics
#-----------------------------------------------------------------------------

# What Amiga-compiler do we use?
#   Compiler versions (WHATCC, for more subtle differences):
#     DICE 2.06.40
#     DICE207: DICE 2.07.53
#     DICE30 : DICE 3.0
#     DICE32 : DICE 3.2

WHATCC= DICE32

# Set CC,LD,AS and CFLAGS to the values needed by your configuration. Note
# the CFLAGS might be further modified.

CC= dcc
LD= dlink
AS= das
CFLAGS= -O ""

# Set CCOPTS to any options you need to compile LPMud, what includes
# warning- and optimization options!
#
# As dcc has problems with float maths, you must define _NO_OWN_FLOATS.
#
# -gs: dynamic stack code (needed for its alloca)
# -mC: large code model
# -mD: the large data model.
# -s : include symbolic information into the executable.
# -d1: include line number information.
# DICE uses the OS' math libraries, so OS-1.3/68040 versions can't use simple
# floats.
# AMIGA is defined automatically.

CCOPTS= -s -gs -mC -mD -D_NO_OWN_FLOATS

# To compile the hosts/amiga/signal, the compiler has to generate C-Code
# with registerized parameters. The special options are put into ROPT.

ROPT= -mRR

# Any additionally needed sources are put into XSRC, and the object files
# to generate into XOBJ.
# You have to supply specific rules for these at the end of the makefile.

XSRC=
XOBJ=

# interpret.c and lang.c need lots of RAM to compile, so it might be
# wise to put the temporaries somewhere else than into T: in RAM:.
# Set IOPT/LOPT to the options to do so for interpret.c resp. lang.c.

IOPT= -T DTMP:
LOPT= -T DTMP:

# DICE 2.xx/3.0 has problems in compiling the switch() in interpret.c and
# lang.c (it insists on using branches even in the large code model)
# and thus needs some afterpatching.
# The proper rules are selected by the filenames of the object files to
# generate. If no afterpatching is needed, the filenames end with '.o', else
# with '.ox' .
# Set the next to macros appropriately.

INTERPRET= interpret.ox
LANG= lang.ox

# The special rules for afterpatching put the intermediate assembler
# files into the directory defined by DTMP.
# Set IOPT2/LOPT2 to speed up the compiling of interpret.c/lang.c if
# possible or necessary. AOPT2 holds extra options for the assembler.

DTMP= DTMP:
IOPT2=
LOPT2=
AOPT2= -s

#-----------------------------------------------------------------------------
#			      Net Specifics
#-----------------------------------------------------------------------------

# What type of net package do we use? Uncomment the lines of your selection.
#
# NETTYPE identifies the type.
# Set NETDEF to define the appropriate symbol selecting the special
# interface code.
# Set NETLIB to specify any additionally needed linker library.

# -- Simulated networking --

# NETTYPE=
# NETDEF=
# NETLIB=

# -- AmiTCP package from hut.fi, version < 3.0 --

NETTYPE= AMITCP
NETDEF= -DAMIGA_TCP -DAMITCP=2
NETLIB= -l net

# -- AmiTCP package from hut.fi, version >= 3.0 --

# NETTYPE= AMITCP
# NETDEF= -DAMIGA_TCP -DAMITCP=3
# NETLIB= -l net

# -- AS225 package from Commodore Inc. --

# NETTYPE= AS225
# NETDEF= -DAMIGA_TCP -DAS225
# NETLIB= -l socket

#-----------------------------------------------------------------------------
#			    LPMud Generic Rules
#-----------------------------------------------------------------------------

# Chose one of these mallocs:
#
# Satoria's malloc, tries to prevent fragmentation.
# Uses little memory. With FAST_FIT, it is also one of the fastest.
# Required for garbage collection.

MALLOC=smalloc

# Gnu malloc, fastest but uses most memory.
# MALLOC=gmalloc
#
# Use the standard malloc on your system.
# MALLOC=sysmalloc

# Set MUD_LIB to the directory which contains the mud data.

MUD_LIB= mudlib:

#
# Set BINDIR to the directory where you want to install the executables.

BINDIR = mudbin:

#
# Set ERQDIR to where executables are stored which ERQ may start.

ERQDIR = mudbin:erq

# Profiling is mostly useless for us.
#   PROFIL= -DOPCPROF -DVERBOSE_OPCPROF
#     would enable the profiling of the virtual stackmachine.

PROFIL=

# Debugging options: [-DDEBUG] [-DYYDEBUG|-DYYDEBUG=1] [-DTRACE_CODE]
# Defining DEBUG enables run time debugging. It will use more time and space.
# When the flag is changed, be sure to recompile everything.
# Simply comment out this line if not wanted.
# If you change anything in the source, you are strongly encouraged to have
# DEBUG defined.
# If you will not change anything, you are still encouraged to have
# it defined, if you want to locate any game driver bugs.

DEBUG=-DDEBUG -DTRACE_CODE

# Extra object files and libraries.

TMP= $(XOBJ) signal.o signal_rr.o socket.o amiga.o ixfile.o
XOBJ= $(TMP)

TMP= $(XSRC) hosts/amiga/signal.c hosts/amiga/signal_rr.c\
      hosts/amiga/socket.c hosts/amiga/amiga.c hosts/amiga/ixfile.c
XSRC= $(TMP)

LIBS= $(NETLIB) -lm


# ----------------------- The Rules -------------------------------------

MPATH=-DMUD_LIB="$(MUD_LIB)" -DBINDIR="$(BINDIR)" -DERQ_DIR="$(ERQDIR)"

TMP= $(CCOPTS) -D$(WHATCC)
CCOPTS= $(TMP)

LDFLAGS= $(CCOPTS)

DEFINES= $(DEBUG) $(PROFIL) -DMALLOC_$(MALLOC) $(MPATH) $(NETDEF)

TMP= $(CFLAGS) $(CCOPTS) $(DEFINES)
CFLAGS= $(TMP)

TMP= $(YFLAGS) -d
YFLAGS= $(TMP)

SRC=lex.c main.c simulate.c object.c backend.c array.c \
    comm.c ed.c regexp.c mapping.c wiz_list.c swap.c \
    call_out.c otable.c dumpstat.c stralloc.c hash.c port.c \
    ptrtable.c heartbeat.c actions.c \
    access_check.c parse_old.c parse.c random.c rxcache.c \
    simul_efun.c strfuns.c sprintf.c gcollect.c closure.c efuns.c
OBJ= $(SRC:*.?:%1.o)

TMP= $(MALLOC).c $(XSRC)
XSRC= $(TMP)

TMP= $(MALLOC).o $(XOBJ)
XOBJ= $(TMP)

driver: $(INTERPRET) $(LANG) $(OBJ) $(XOBJ)
	$(CC) $(LDFLAGS) %(right) -o %(left) $(LIBS)

clean:
	$(RMF) *.o *.ox *.a lang.c lang.h lang.y instrs.h efun_defs.c y.output
	$(RMF) make_func.c make_func
	$(RMF) driver astrip dstol PlayMud


# Automatic rules for normal sources.

$(OBJ) : $(SRC)
	$(CC) $(CFLAGS) -c %(right) -o %(left)


# Making of lang.o

make_func.c: make_func.y
	$(RM) make_func.c
	$(YACC) $(YFLAGS) make_func.y
	$(MV) $(YTAB).c make_func.c

make_func.o : make_func.c driver.h config.h machine.h port.h
	$(CC) $(CFLAGS) -DYACC="$(YACC)" -c make_func.c

make_func: make_func.o hash.o ixfile.o exec.h
	$(CC) make_func.o hash.o ixfile.o -o make_func $(LIBS)

lang.y efun_defs.c instrs.h: make_func
	$(RMF) efun_defs.c
	$(RMF) lang.y
	$(RMF) instrs.h
	make_func

lang.y efun_defs.c instrs.h: func_spec

lang.y efun_defs.c instrs.h: prolang.y

lang.y efun_defs.c instrs.h: config.h

#   Byacc will warn a 'shift/reduce' conflict.
#   This is a known wart in the C-grammar.
lang.c lang.h: lang.y
	$(RM) lang.c lang.h
	$(YACC) $(YFLAGS) -v lang.y
	$(MV) $(YTAB).c lang.c
	$(MV) $(YTAB).h lang.h


#  Normal rule for lang.o

lang.o : lang.c simul_efun.h mapping.h swap.h backend.h array.h \
    closure.h main.h simulate.h stralloc.h switch.h instrs.h config.h \
    exec.h object.h interpret.h lex.h prolang.h lint.h sent.h smalloc.h \
    port.h machine.h lang.h hosts/amiga/patchfloat.h \
    astrip
	$(CC) $(LOPT) $(CFLAGS) -c lang.c -o %(left)

#  Rules for lang.o with afterpatching
#  I prefer compiling lang.c in two steps, in case the three iterations
#  over the assembler source aren't enough.

lang.a : simul_efun.h mapping.h swap.h backend.h array.h \
    closure.h main.h simulate.h stralloc.h switch.h instrs.h config.h \
    exec.h object.h interpret.h lex.h prolang.h lint.h sent.h smalloc.h \
    port.h machine.h lang.h hosts/amiga/patchfloat.h \
    astrip
	$(CC) $(LOPT2) $(CFLAGS) -a lang.c -o $(DTMP)lang.x
	astrip $(DTMP)lang.x lang.a
	$(RM) $(DTMP)lang.x

lang.ox: lang.a dstol
	echo ".key letter*Nfailat 21*Ndelete $(DTMP)lang.err >NIL:" >T:tryasm
	echo "$(AS) $(DTMP)lang.<letter> -o lang.ox -E $(DTMP)lang.err" >>T:tryasm
	echo "echo *"..to ignore the failure of das*" >NIL:" >>T:tryasm
	$(CP) lang.a $(DTMP)
	execute T:tryasm a ``
	$(RM) $(DTMP)lang.a
	dstol lang.a $(DTMP)lang.err $(DTMP)lang.d z
	execute T:tryasm d ``
	dstol $(DTMP)lang.d $(DTMP)lang.err $(DTMP)lang.e y
	$(RM) $(DTMP)lang.d
	execute T:tryasm e ``
	dstol $(DTMP)lang.e $(DTMP)lang.err $(DTMP)lang.f x
	$(RM) $(DTMP)lang.err $(DTMP)lang.e
	astrip $(DTMP)lang.f $(DTMP)lang.g redebug
	$(AS) $(DTMP)lang.g -o lang.ox $(AOPT2)
	$(RM) $(DTMP)lang.f $(DTMP)lang.g T:tryasm


# Making of interpret.o

#  Normal rule.
interpret.o : closure.h swap.h sprintf.h lex.h gcollect.h \
    parse.h call_out.h simul_efun.h simulate.h mapping.h array.h main.h \
    backend.h stralloc.h switch.h sent.h comm.h instrs.h wiz_list.h \
    object.h exec.h prolang.h smalloc.h interpret.h lint.h config.h \
    machine.h lang.h port.h hosts/amiga/patchfloat.h
	$(CC) $(IOPT) $(CFLAGS) -c interpret.c -o interpret.o $(LIBS)

#  Rules for interpret.ox with afterpatching.
#  I prefer compiling interpret.c in two steps, in case the three iterations
#  over the assembler source aren't enough.

interpret.a : closure.h swap.h sprintf.h lex.h gcollect.h \
    parse.h call_out.h simul_efun.h simulate.h mapping.h array.h main.h \
    backend.h stralloc.h switch.h sent.h comm.h instrs.h wiz_list.h \
    object.h exec.h prolang.h smalloc.h interpret.h lint.h config.h \
    machine.h lang.h port.h hosts/amiga/patchfloat.h \
    astrip
	$(CC) $(IOPT2) $(CFLAGS) -a interpret.c -o $(DTMP)interpret.x
	astrip $(DTMP)interpret.x interpret.a
	$(RM) $(DTMP)interpret.x

interpret.ox: interpret.a dstol
	echo ".key letter*Nfailat 21*Ndelete $(DTMP)interpret.err >NIL:" >T:tryasm
	echo "$(AS) $(DTMP)interpret.<letter> -o interpret.ox -E $(DTMP)interpret.err" >>T:tryasm
	echo "echo *"..to ignore the failure of das*" >NIL:" >>T:tryasm
	$(CP) interpret.a $(DTMP)
	execute T:tryasm a ``
	$(RM) $(DTMP)interpret.a
	dstol interpret.a $(DTMP)interpret.err $(DTMP)interpret.d z
	execute T:tryasm d ``
	dstol $(DTMP)interpret.d $(DTMP)interpret.err $(DTMP)interpret.e y
	$(RM) $(DTMP)interpret.d $(DTMP)interpret.err
	astrip $(DTMP)interpret.e $(DTMP)interpret.f redebug
	$(AS) $(DTMP)interpret.f -o interpret.ox $(AOPT2)
	$(RM) $(DTMP)interpret.e $(DTMP)interpret.f T:tryasm


# Memory allocator.

$(MALLOC).o: $(MALLOC).c lint.h config.h machine.h
	$(RMF) smalloc.o
	$(RMF) gmalloc.o
	$(RMF) sysmalloc.o
	$(RMF) malloc.o
	$(CC) $(CFLAGS) -c $(MALLOC).c

#--------------------------------------------------------
# Dependencies, manual and automatic.

array.o : instrs.h lang.h

closure.o : instrs.h lang.h

dumpstat.o : instrs.h lang.h

gcollect.o : instrs.h lang.h

interpret.o : instrs.h lang.h

lang.o : driver.h config.h machine.h lex.h interpret.h object.h \
    instrs.h port.h switch.h stralloc.h

lex.o : instrs.h lang.h efun_defs.c

simul_efun.o : instrs.h lang.h

simulate.o : instrs.h

sprintf.o : instrs.h

#-----------------------------------------------------------------------------
#			    Extra Rules
#-----------------------------------------------------------------------------

#   PlayMud  : a simple client to access the running mud.
#   netclean : removes all object files containing communication-specific code.
#   osclean  : removes all object files which contain OS-specific code.
#   amiga.o  : some amiga specific routines.
#   ixfile.o : Unix-filesystem disguise.
#   signal.o : timers and interruption. It uses interrupt code and therefore
#	       needs fully registered args.
#   socket.o : includes the appropriate socket-code.
#
# DICE 2.xx also needs:
#   astrip: to strip comments from intermediate assembler files
#   dstol : to patch assembler files with large switch()es

playmud: PlayMud

PlayMud: hosts/amiga/PlayMud.c
	$(CC) %(right) -o %(left)

PlayMud: hosts/amiga/mudmsgs.h

netclean:
	-$(RM) access_check.o comm.o main.o swap.o socket.o amiga.o

osclean:
	-$(RM) $(XOBJ)
	-$(RM) backend.o interpret.o object.o otable.o simulate.o stralloc.o
	-$(RM) interpret.a lang.a astrip dstol PlayMud driver

amiga.o : hosts/amiga/amiga.c
	$(CC) $(CFLAGS) -Ihosts/amiga -c %(right) -o %(left)

ixfile.o : hosts/amiga/ixfile.c
	$(CC) $(CFLAGS) -Ihosts/amiga -c %(right) -o %(left)

signal.o : hosts/amiga/signal.c
	$(CC) $(CFLAGS) -Ihosts/amiga -c %(right) -o %(left)

signal_rr.o : hosts/amiga/signal_rr.c
	$(CC) $(CFLAGS) $(ROPT) -Ihosts/amiga -c %(right) -o %(left)

signal_rr.o : hosts/amiga/nsignal.h

socket.o : hosts/amiga/socket.c
	$(CC) $(CFLAGS) -Ihosts/amiga -c %(right) -o %(left)

astrip: hosts/amiga/astrip.c
	$(CC) %(right) -o %(left)

dstol: hosts/amiga/dstol.c
	$(CC) %(right) -o %(left)

# --- DO NOT MODIFY THIS LINE -- AUTO-DEPENDS FOLLOW ---
access_check.o : access_check.c filestat.h comm.h access_check.h driver.h \
    sent.h object.h interpret.h config.h port.h exec.h instrs.h datatypes.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

actions.o : actions.c wiz_list.h stralloc.h smalloc.h simulate.h sent.h \
    object.h mapping.h interpret.h dumpstat.h datatypes.h comm.h closure.h \
    backend.h array.h actions.h driver.h strfuns.h instrs.h exec.h main.h \
    port.h config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

array.o : array.c wiz_list.h swap.h stralloc.h simulate.h rxcache.h \
    regexp.h prolang.h object.h mapping.h main.h interpret.h instrs.h \
    exec.h datatypes.h backend.h array.h my-alloca.h driver.h smalloc.h \
    strfuns.h sent.h lang.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

backend.o : backend.c wiz_list.h swap.h stralloc.h smalloc.h simulate.h \
    rxcache.h regexp.h random.h otable.h object.h my-alloca.h mapping.h \
    main.h lex.h interpret.h heartbeat.h gcollect.h filestat.h exec.h ed.h \
    comm.h closure.h call_out.h array.h actions.h backend.h \
    hosts/amiga/nsignal.h driver.h strfuns.h datatypes.h sent.h instrs.h \
    port.h config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

call_out.o : call_out.c wiz_list.h swap.h strfuns.h stralloc.h simulate.h \
    object.h main.h interpret.h gcollect.h exec.h comm.h closure.h \
    backend.h array.h actions.h call_out.h driver.h datatypes.h smalloc.h \
    sent.h instrs.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

closure.o : closure.c switch.h simul_efun.h simulate.h stralloc.h prolang.h \
    object.h main.h lex.h instrs.h interpret.h exec.h backend.h array.h \
    closure.h my-alloca.h driver.h ptrtable.h strfuns.h sent.h smalloc.h \
    lang.h datatypes.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

comm.o : comm.c util/erq/erq.h wiz_list.h stralloc.h simulate.h sent.h \
    object.h main.h interpret.h gcollect.h filestat.h exec.h ed.h closure.h \
    backend.h array.h actions.h access_check.h comm.h hosts/amiga/nsignal.h \
    telnet.h my-alloca.h driver.h smalloc.h strfuns.h instrs.h datatypes.h \
    config.h port.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

dumpstat.o : dumpstat.c smalloc.h simulate.h ptrtable.h prolang.h object.h \
    mapping.h instrs.h interpret.h filestat.h exec.h comm.h closure.h \
    array.h dumpstat.h driver.h strfuns.h datatypes.h sent.h lang.h port.h \
    config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

ed.o : ed.c stralloc.h simulate.h rxcache.h regexp.h object.h main.h \
    interpret.h gcollect.h filestat.h comm.h closure.h actions.h ed.h \
    driver.h smalloc.h strfuns.h sent.h instrs.h exec.h datatypes.h \
    backend.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

efuns.o : efuns.c ../mudlib/sys/strings.h ../mudlib/sys/objectinfo.h \
    ../mudlib/sys/debug_info.h swap.h strfuns.h stralloc.h smalloc.h \
    simulate.h ptrtable.h mapping.h main.h prolang.h instrs.h interpret.h \
    dumpstat.h datatypes.h comm.h closure.h array.h efuns.h driver.h \
    object.h exec.h sent.h lang.h port.h config.h hosts/unix.h \
    hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

gcollect.o : gcollect.c wiz_list.h swap.h stralloc.h smalloc.h simul_efun.h \
    simulate.h sent.h rxcache.h prolang.h otable.h object.h mapping.h \
    main.h lex.h instrs.h interpret.h heartbeat.h filestat.h exec.h ed.h \
    comm.h closure.h call_out.h backend.h array.h gcollect.h driver.h \
    strfuns.h datatypes.h ptrtable.h regexp.h lang.h port.h config.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

hash.o : hash.c hash.h

heartbeat.o : heartbeat.c wiz_list.h strfuns.h simulate.h sent.h object.h \
    gcollect.h datatypes.h comm.h backend.h array.h actions.h heartbeat.h \
    driver.h interpret.h instrs.h exec.h main.h smalloc.h port.h config.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

amiga.o : hosts/amiga/amiga.c hosts/amiga/nsignal.h ./patchlevel.h \
    hosts/amiga/config.h

ixfile.o : hosts/amiga/ixfile.c

signal.o : hosts/amiga/signal.c hosts/amiga/nsignal.h

signal_rr.o : hosts/amiga/signal_rr.c hosts/amiga/nsignal.h

socket.o : hosts/amiga/socket.c hosts/amiga/socket_sim.c \
    hosts/amiga/socket_tcp.c hosts/amiga/nsignal.h hosts/amiga/mudmsgs.h \
    hosts/amiga/telnet.h hosts/amiga/socket_sim_protos.h \
    hosts/amiga/socket.h ./hosts/amiga/socket_sim.h \
    ./hosts/amiga/socket_tcp.h

interpret.o : interpret.c ../mudlib/sys/trace.h wiz_list.h switch.h swap.h \
    sprintf.h smalloc.h stralloc.h simul_efun.h simulate.h sent.h random.h \
    ptrtable.h prolang.h parse.h otable.h object.h mapping.h main.h lex.h \
    instrs.h heartbeat.h gcollect.h filestat.h exec.h efuns.h ed.h comm.h \
    closure.h call_out.h backend.h array.h actions.h interpret.h \
    my-rusage.h my-alloca.h driver.h strfuns.h datatypes.h lang.h port.h \
    config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

lang.o : lang.c wiz_list.h switch.h swap.h stralloc.h simul_efun.h \
    simulate.h object.h mapping.h main.h lex.h instrs.h interpret.h \
    gcollect.h exec.h closure.h backend.h array.h prolang.h my-alloca.h \
    driver.h smalloc.h strfuns.h ptrtable.h sent.h datatypes.h lang.h \
    port.h config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

lex.o : lex.c efun_defs.c hosts/amiga/socket.h strfuns.h stralloc.h \
    simul_efun.h simulate.h prolang.h ./patchlevel.h main.h instrs.h hash.h \
    gcollect.h filestat.h exec.h comm.h closure.h backend.h array.h lex.h \
    my-alloca.h driver.h ./hosts/amiga/socket_sim.h \
    ./hosts/amiga/socket_tcp.h datatypes.h smalloc.h ptrtable.h object.h \
    interpret.h sent.h lang.h port.h config.h \
    hosts/amiga/socket_sim_protos.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

main.o : main.c wiz_list.h swap.h stralloc.h simul_efun.h simulate.h \
    rxcache.h random.h ./patchlevel.h otable.h object.h mapping.h lex.h \
    interpret.h gcollect.h filestat.h comm.h array.h backend.h main.h \
    hosts/amiga/socket.h my-alloca.h driver.h exec.h smalloc.h strfuns.h \
    ptrtable.h sent.h instrs.h regexp.h datatypes.h \
    ./hosts/amiga/socket_sim.h ./hosts/amiga/socket_tcp.h port.h config.h \
    hosts/amiga/socket_sim_protos.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

make_func.o : make_func.c hash.h exec.h my-alloca.h driver.h datatypes.h \
    port.h config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

mapping.o : mapping.c wiz_list.h stralloc.h smalloc.h simulate.h regexp.h \
    object.h main.h interpret.h gcollect.h datatypes.h closure.h backend.h \
    array.h mapping.h my-alloca.h driver.h strfuns.h sent.h instrs.h exec.h \
    port.h config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

object.o : object.c wiz_list.h swap.h stralloc.h simulate.h sent.h random.h \
    ptrtable.h prolang.h otable.h mapping.h main.h interpret.h filestat.h \
    exec.h comm.h closure.h backend.h array.h actions.h object.h \
    my-alloca.h driver.h smalloc.h strfuns.h instrs.h lang.h datatypes.h \
    port.h config.h hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h \
    hosts/amiga/patchfloat.h machine.h ./hosts/amiga/ixfile.h

otable.o : otable.c simulate.h strfuns.h object.h interpret.h hash.h \
    gcollect.h backend.h otable.h driver.h sent.h instrs.h datatypes.h \
    exec.h main.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

parse.o : parse.c wiz_list.h stralloc.h simulate.h object.h main.h instrs.h \
    interpret.h closure.h array.h actions.h parse.h driver.h smalloc.h \
    strfuns.h sent.h exec.h datatypes.h backend.h port.h config.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

parse_old.o : parse_old.c wiz_list.h simulate.h random.h object.h main.h \
    interpret.h array.h actions.h parse.h driver.h strfuns.h sent.h \
    instrs.h exec.h datatypes.h smalloc.h backend.h port.h config.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

port.o : port.c hosts/crypt.c main.h backend.h my-rusage.h driver.h \
    interpret.h object.h datatypes.h port.h config.h instrs.h sent.h exec.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

ptrtable.o : ptrtable.c simulate.h ptrtable.h driver.h strfuns.h sent.h \
    object.h instrs.h interpret.h port.h config.h datatypes.h exec.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

random.o : random.c random.h driver.h port.h config.h hosts/unix.h \
    hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

regexp.o : regexp.c regexp.h driver.h port.h config.h hosts/unix.h \
    hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

rxcache.o : rxcache.c strfuns.h stralloc.h smalloc.h regexp.h hash.h \
    gcollect.h rxcache.h driver.h datatypes.h object.h interpret.h exec.h \
    port.h config.h sent.h instrs.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

simul_efun.o : simul_efun.c swap.h stralloc.h simulate.h prolang.h parse.h \
    object.h lex.h instrs.h interpret.h gcollect.h exec.h array.h \
    simul_efun.h my-alloca.h driver.h smalloc.h strfuns.h sent.h lang.h \
    datatypes.h ptrtable.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

simulate.o : simulate.c ../mudlib/sys/rtlimits.h wiz_list.h swap.h \
    strfuns.h stralloc.h simul_efun.h sent.h rxcache.h prolang.h otable.h \
    object.h mapping.h main.h lex.h instrs.h interpret.h heartbeat.h \
    filestat.h exec.h ed.h dumpstat.h comm.h closure.h call_out.h backend.h \
    array.h actions.h simulate.h hosts/amiga/nsignal.h my-alloca.h driver.h \
    datatypes.h smalloc.h ptrtable.h regexp.h lang.h port.h config.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

smalloc.o : smalloc.c object.h exec.h simulate.h main.h gcollect.h \
    backend.h comm.h smalloc.h driver.h sent.h interpret.h datatypes.h \
    strfuns.h instrs.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

sprintf.o : sprintf.c swap.h stralloc.h simul_efun.h simulate.h sent.h \
    prolang.h object.h mapping.h main.h instrs.h interpret.h exec.h \
    closure.h array.h sprintf.h driver.h smalloc.h strfuns.h ptrtable.h \
    lang.h datatypes.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

stralloc.o : stralloc.c strfuns.h simulate.h hash.h gcollect.h stralloc.h \
    driver.h datatypes.h sent.h object.h instrs.h interpret.h exec.h \
    smalloc.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

strfuns.o : strfuns.c smalloc.h simulate.h datatypes.h comm.h strfuns.h \
    driver.h sent.h object.h instrs.h interpret.h port.h config.h exec.h \
    hosts/unix.h hosts/be/be.h hosts/amiga/amiga.h hosts/amiga/patchfloat.h \
    machine.h ./hosts/amiga/ixfile.h

swap.o : swap.c hosts/amiga/socket.h wiz_list.h stralloc.h simul_efun.h \
    simulate.h prolang.h random.h otable.h object.h mapping.h main.h \
    interpret.h gcollect.h exec.h comm.h backend.h array.h swap.h driver.h \
    ./hosts/amiga/socket_sim.h ./hosts/amiga/socket_tcp.h smalloc.h \
    strfuns.h ptrtable.h sent.h instrs.h lang.h datatypes.h port.h config.h \
    hosts/amiga/socket_sim_protos.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

wiz_list.o : wiz_list.c stralloc.h object.h main.h interpret.h gcollect.h \
    backend.h array.h wiz_list.h driver.h smalloc.h strfuns.h sent.h exec.h \
    instrs.h datatypes.h port.h config.h hosts/unix.h hosts/be/be.h \
    hosts/amiga/amiga.h hosts/amiga/patchfloat.h machine.h \
    ./hosts/amiga/ixfile.h

# --- DO NOT MODIFY THIS LINE -- AUTO-DEPENDS PRECEDE ---
