#  Makefile for BenAri Concurrent Pascal Compiler 

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

checkOS:
	$(LIBDIR)/checkLastOS '*.o'
	make bapas

bapas: $(INCLS) $(OBJS)
	(cd $(LIBDIR); make)
	$(CC) $(CFLAGS) -o bapas $(OBJS) -L$(LIBDIR) -lba -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
	rm -f lex.c
	flex bapascal.l
	sed -f unistd.sed 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 gram.c ytab.h lex.c


#
#   $Log: Makefile,v $
#   Revision 1.10  2000/06/07 17:42:37  bynum
#   add checkOS target
#
#   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
#
# 

