sima/autoconf/
sima/hosts/i386/
sima/mudlib/
sima/mudlib/kernel/
sima/mudlib/obj/
sima/mudlib/sys/
sima/synhash/mips/
MAKE=make
SHELL=/bin/sh
#
CC=gcc
#
YACC = byacc
YACCTAB = y.tab.
#
RM = rm -f
MV = mv
CP = cp

#OPTIMIZE = -O4 -g -fstrength-reduce -fomit-frame-pointer # high optimization
#OPTIMIZE= -O4 -g -fstrength-reduce # for better debugging
#OPTIMIZE= -O4 -g # for better debugging
OPTIMIZE= -g -Wl,-qmagic -Wall # no optimization; for frequent recompilations.

CFLAGS=  $(OPTIMIZE) $(DEBUG)
#
LIBS= -lm
#
LDFLAGS=

driver: lex.o interpret.o hash.o stralloc.o alloc.o

interpret.o: instrs.h

instrs.h: make_func

make_func.c: make_func.y
	$(YACC) make_func.y
	$(MV) $(YACCTAB)c make_func.c


make_func: make_func.o hash.o
	$(CC) $(OPTIMIZE) $(LDFLAGS) make_func.o hash.o -o make_func

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

lang.y efun_defs.c instrs.h: func_spec make_func prolang.y config.h
	$(RM) efun_defs.c
	$(RM) lang.y
	./make_func > efun_defs.c

lang.c lang.h: lang.y
	$(YACC) -d -v lang.y
	$(MV) $(YACCTAB)c lang.c
	$(MV) $(YACCTAB)h lang.h

lex.o : lex.c common.h config.h machine.h interpret.h lang.h exec.h lex.h \
  instrs.h patchlevel.h stralloc.h efun_defs.c