#ifndef _BLURB_
#define _BLURB_
#/*
#
#            Coda: an Experimental Distributed File System
#                             Release 3.1
#
#          Copyright (c) 1987-1995 Carnegie Mellon University
#                         All Rights Reserved
#
#Permission  to  use, copy, modify and distribute this software and its
#documentation is hereby granted,  provided  that  both  the  copyright
#notice  and  this  permission  notice  appear  in  all  copies  of the
#software, derivative works or  modified  versions,  and  any  portions
#thereof, and that both notices appear in supporting documentation, and
#that credit is given to Carnegie Mellon University  in  all  documents
#and publicity pertaining to direct or indirect use of this code or its
#derivatives.
#
#CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
#SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
#FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
#DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
#RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
#ANY DERIVATIVE WORK.
#
#Carnegie  Mellon  encourages  users  of  this  software  to return any
#improvements or extensions that  they  make,  and  to  grant  Carnegie
#Mellon the rights to redistribute these changes without encumbrance.
#*/
#
#static char *rcsid = "$Header: Makefile,v 3.2.2.1 95/10/11 10:01:55 raiff Exp $";
#endif /*_BLURB_*/




# Which C compiler to use
CC = $(CC?$(CC):CC)
cc = $(PLAINC?$(PLAINC):cc)

#uncomment if you want to turn on timing of the ASR 
#PERSONAL_FLAGS= -DTIMING

LIBS=	$(PIOCTL_O)\
	$(LIBUTIL)

HEADERS = asr.h ruletypes.h

CFILES = ruletypes.c resolver.c wildmat.c y.tab.c lex.yy.c 

OBJECTS = y.tab.o lex.yy.o ruletypes.o resolver.o wildmat.o 

all: parser

parser: ${OBJECTS} ${LIBS}
	$(CC) $(LIBFLAGS) -o parser ${OBJECTS} $(LIBS) -ly -ll 

y.tab.c: resolver.yacc
	yacc -d resolver.yacc

lex.yy.c: resolver.lex
	lex resolver.lex

#The following two files are not C++ code so need cc and not CC 
lex.yy.o: lex.yy.c
	$(cc) -g -c $(CFLAGS) lex.yy.c

wildmat.o: wildmat.c
	$(cc) -g -c $(CFLAGS) wildmat.c


clean: 
	rm -f *.o lex.yy.c y.tab.c y.tab.h parser 

bininstall: parser
	-chmod 0755 ${BINDIR}/parser
	${INSTALL} parser ${BINDIR}

hdrinstall: asr.h ruletypes.h 
	-chmod 0644 ${INCLDIR}/asr.h ${INCLDIR}/ruletypes.h
	${INSTALL} $> ${INCLDIR}

srcinstall:
# Manually setenv SUPPRESS_ALPHACI if you want to suppress the RCS checkin by alphaci
	SRCDIR=$(SRCDIR); export SRCDIR; $(ALPHACI)

install: all bininstall hdrinstall srcinstall
