CC = cc
DEF = -DRUNTIMECHECK
MV = /bin/mv
RM = /bin/rm
YACC = yacc

LEX = mylex

DEPEND = makedepend

CFLAGS = $(DEF) -D$(LEX)
LDFLAGS =


OBJS = y.tab.o mylex.o list.o memo.o hash.o mem.o   	\
	const.o	stack.o error.o control.o function.o	\
	type.o identifier.o block.o declaration.o  if.o	\
	operator.o funcall.o comma.o return.o while.o	\
	for.o cast.o assignment.o array.o indirection.o \
	switch.o smac.o \
	Type.o Const.o Var.o Block.o If.o Return.o	\
	Comma.o Function.o FunctionCall.o Identifier.o  \
	Builtin.o Declaration.o While.o Control.o For.o	\
	Cast.o Array.o RefDeref.o Switch.o		\
	main.o 


SRCS = y.tab.c mylex.c list.c memo.c hash.c mem.c   	\
	const.c	stack.c error.c control.c function.c	\
	type.c identifier.c block.c declaration.c if.c	\
	operator.c funcall.c comma.c return.c while.c	\
	for.c cast.c assignment.c array.c  indirection.c \
	switch.c smac.c \
	Type.c Const.c Var.c Block.c If.c Return.c 	\
	Comma.c Function.c FunctionCall.c Identifier.c	\
	Builtin.c Declaration.c While.c Control.c For.c	\
	Cast.c Array.c RefDeref.c Switch.c		\
	main.c 


smac: $(OBJS)
	$(CC) $(LDFLAGS) -o smac  $(OBJS)

word.h : word.c
	$(CC) -o word word.c
	$(RM) -f word.h
	word >word.h
	$(RM) -f word

y.tab.o: word.h

y.tab.c: c5.y
	$(YACC) -dl c5.y

depend::
	$(DEPEND) -w1 -f MakeAlone -- $(DEF) -- $(SRCS) 1>/dev/null 2>&1
	< MakeAlone grep -v "\:\ /" >newMakeAlone
	$(MV) newMakeAlone MakeAlone

# DO NOT DELETE THIS LINE -- make depend depends on it.

