
.SUFFIXES:
.SUFFIXES: .c .o .h

CFLAGS= -O
CC= gcc

OBJECTS=  pool.o  symbol_table.o  lexer.o  parser.tab.o  interpreter.o  occam.o 

occam:  $(OBJECTS)
	$(LINK.c) -o occam $(OBJECTS)

 
pool.c: occam.h pool.h  
symbol_table.c: occam.h pool.h symbol_table.h 
lexer.o: parser.tab.h lexer.h
lexer.c: lexer.l
	flex -olexer.c lexer.l

parser.tab.o: occam.h pool.h interpreter.h symbol_table.h lexer.h parser.h
parser.tab.c parser.tab.h : parser.y
	bison --defines parser.y
 
interpreter.c: occam.h pool.h interpreter.h  
occam.c: pool.h symbol_table.h lexer.h parser.h interpreter.h occam.h 

clean:
	-rm *.o *~ occam 

