#
# rules for CPARSE
#
# Alan Hastings 2/14/85
# 

INCDIR = Hdr
INCLUDE = -I${INCDIR}
DEFINES = -DDEBUG -DYYDEBUG
CFLAGS = -O ${INCLUDE} ${DEFINES}
LFLAGS =

OBJS = \
	main.o \
	malloc.o \
	getopt.o \
	cgram.o \
	con.o \
	enum.o \
	struct.o \
	funcs.o \
	level.o \
	tree.o \
	tmkstuff.o \
	tprint.o \
	scan.o \
	name.o \
	symbol.o \
	types.o \
	opstuff.o \
	stmt.o \
	keyword.o \
	extern.o

PRINTSRC = \
	Hdr/defs.h \
	Hdr/extern.h \
	Hdr/macdefs.h \
	Hdr/parsedefs.h \
	Hdr/types.h \
	cgram.y \
	con.c \
	enum.c \
	extern.c \
	funcs.c \
	keyword.c \
	main.c \
	name.c \
	opstuff.c \
	scan.c \
	stmt.c \
	struct.c \
	symbol.c \
	tmkstuff.c \
	tprint.c \
	tree.c \
	types.c

cparse:	${OBJS}
	cc ${LFLAGS} ${OBJS} -o cparse

cgram.o:	cgram.c

cgram.c:	cgram.y
	@echo "Expect 7 shift/reduce conflicts"
	yacc -vd cgram.y
	mv y.tab.c cgram.c

tags:		${PRINTSRC}
	@ctags -tw ${PRINTSRC}

clean:
	rm -f *.o y.tab.h y.output cgram.c
