#
#  makefile for INGRES parser
#
#	@(#)Makefile	8.4	12/18/85
#

include ../Config

INGRES=	../..
H=	../h
LIB=	$(INGRES)/lib

SOBJS=	s_yylex.o s_inout.o s_name.o s_number.o s_operator.o s_string.o \
	s_symtab.o s_comment.o s_cmap.o
OBJS=	parser.o control.o grammar.o att_fcn.o xdot.o \
	range_fcn.o tree.o norml.o \
	call_tree.o format.o par_util.o get_scan.o \
	par_init.o ack_err.o
SSRCS1=	s_yylex.c s_inout.c s_name.c s_number.c s_operator.c s_string.c \
	s_symtab.c s_comment.c s_cmap.c 
SHDRS=	scanner.h
SSRCS=	$(SSRCS1) $(SHDRS)
SRCS1=	att_fcn.c xdot.c range_fcn.c tree.c norml.c \
	call_tree.c control.c format.c par_util.c get_scan.c \
	parser.c par_init.c ack_err.c 
YSRCS=	yyerror.y tables.y grammar.y
HDRS=	parser.h
SRCS=	$(SRCS1) $(YSRCS)

IUTIL=	$(LIB)/iutil
GUTIL=	$(LIB)/gutil
CTLMOD=	$(LIB)/ctlmod
LIBS=	$(IUTIL) $(GUTIL)

YACC= yacc
YFLAGS= 
CFLAGS=	$(CONFIG) -O -I$H
LDFLAGS=
AR=	-ar
ARFLAGS=rvu
RANLIB=	ranlib
CHMOD=	chmod
LIBMODE=664
BINMODE=4740
ROMODE=	444
CP=	cp
HEADER=	Parser

parlib: $(OBJS) $(SOBJS)
	$(AR) $(ARFLAGS) parlib $?
	$(CHMOD) $(LIBMODE) parlib
	$(RANLIB) parlib

install: $(LIB)/parser

$(LIB)/parser: parlib
	$(CP) parlib $(LIB)/parser
	$(RANLIB) $(LIB)/parser

grammar.c: grammar.y
	grep -v "DDD" grammar.y > grammar.z
	$(YACC) $(YFLAGS) grammar.z
	mv y.tab.c grammar.c
	rm -f grammar.z

grammar.o: tables.y yyerror.y scanner.h parser.h

new:
	rm -f parser parlib

clean:
	rm -f *.o
	rm -f parser a.out core parlib grammar.c

