#  Makefile for BenAri Concurrent C Compiler in C
#    adapted from the makefile for the BenAri Concurrent Pascal compiler in C

OBJS = baccutil.o date.o gram.o lex.o
CFLAGS = -g -Wall
# pick which one of the following two lines you need
#YACC=yacc
YACC=bison -y
CC = gcc
INCDIR = ../include
INCLS =$(INCDIR)/bacicnty.h $(INCDIR)/compdata.h $(INCDIR)/pcode.h \
   $(INCDIR)/incfiles.h

LIBDIR = ../lib


bacc: $(INCLS) $(OBJS)
	(cd $(LIBDIR); make)
	$(CC) $(CFLAGS) -o bacc $(OBJS) -L$(LIBDIR) -lba
	rm date.o

date.o:
	rm -f date.c
	(cd $(LIBDIR); make makedate)
	$(LIBDIR)/makedate
	$(CC) $(CFLAGS) -c date.c

gram.o ytab.h:  bac.y $(INCLS)
	$(YACC) -tvd bac.y
	mv -f y.tab.c gram.c
	mv -f y.tab.h ytab.h
	chmod 444 gram.c ytab.h
	$(CC) $(CFLAGS) -c gram.c

lex.o:	bac.l $(INCLS) ytab.h
	flex bac.l
	mv -f lex.yy.c lex.c
	chmod 444 lex.c
	$(CC) $(CFLAGS) -c lex.c

baccutil.o:  baccutil.c $(INCLS)
	$(CC) $(CFLAGS) -c baccutil.c

clean:
	rm -f *.o bacc 



#
#   $Log: Makefile,v $
#   Revision 1.7  1999/07/06 15:26:06  bynum
#   switch from yacc to bison
#
# Revision 1.6  1997/03/26  20:46:25  bynum
# remove gram.c and lex.c from clean target, add chmod 444 lex.c gram.c ytab.h
#
# Revision 1.6  1997/03/26  20:46:25  bynum
# remove gram.c and lex.c from clean target, add chmod 444 lex.c gram.c ytab.h
#
# Revision 1.5  1997/03/25  14:49:16  bynum
# incorporate name changes from include directory, add -Wall flag to
# CFLAGS
#
# Revision 1.4  1997/02/04  08:18:24  bynum
# switch to FLEX
#
# Revision 1.3  1996/03/07  09:19:38  bynum
# change name to 'Makefile', add 'date.o' target
#
# Revision 1.2  1995/09/07  14:29:03  bynum
# compile each piece separately, add make in ../lib directory to bacc
# target, add library reference in the final make
#
# Revision 1.1  1995/08/14  16:07:15  bynum
# Initial revision
#
# 

