#  Makefile for BenAri Concurrent Pascal Compiler 

OBJS = bacutils.o date.o gram.o lex.o
CFLAGS = -g -Wall
CC = gcc
INCDIR = ../include
INCLS =$(INCDIR)/bacicnty.h $(INCDIR)/compdata.h $(INCDIR)/pcode.h \
   $(INCDIR)/incfiles.h
LIBDIR = ../lib


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

date.o:
	rm -f date.c      # make sure old date.c is gone
	(cd $(LIBDIR); make makedate)
	$(LIBDIR)/makedate
	$(CC) $(CFLAGS) -c date.c

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

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

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

clean:
	rm -f gram.o lex.o bapas bacutils.o


#
#   $Log: Makefile,v $
#   Revision 1.9  1999/07/06 17:21:32  bynum
#   switch from yacc to bison
#
#   Revision 1.8  1997/03/26 20:49:13  bynum
#   remove gram.c lex.c from clean target, add chmod 444 lex.c gram.c ytab.h
#
# Revision 1.7  1997/03/25  14:53:30  bynum
# incorporate name changes from the include directory, add -Wall flag to
# CFLAGS
#
# Revision 1.6  1996/03/07  09:23:25  bynum
# change filename to 'Makefile', add 'date.o' target
#
# Revision 1.5  1995/09/19  14:54:36  bynum
# change to use date.c file
#
# Revision 1.4  1995/09/07  14:33:33  bynum
# add cd to ../lib directory & make, compile each piece separately,
# add library references to final compilation
# .,
#
# Revision 1.3  1995/08/29  16:49:26  bynum
# add automatic DATE determination for compiler flag
#
# Revision 1.2  1995/06/22  09:58:24  bynum
# add dependency for bacinclf.c
#
# 

