# Manually generated by programmer 

# Visual C++
#CC = cl
DEBUG = -g
# GCC
#CC = gcc -efence -Wall -pedantic
CC = gcc -Wall -pedantic
YACC = bison -v -y
LEX = flex
LIBS =
#LIBS = -lefence
#LIBS = -ll -ly

HEADERS = imc.h imcparser.h

default :
	$(MAKE) imcc

clean :
	rm -f core
	rm -f *.o
	rm -f imcparser.output
	rm -f imcc

imcparser.c : imcc.y
	$(YACC) -d -o imcparser.c imcc.y

imclexer.c : imcc.l $(HEADERS) 
	$(LEX) imcc.l

imcparser.o : imcparser.c $(HEADERS)
	$(CC) $(DEBUG) -c imcparser.c

imclexer.o : imclexer.c $(HEADERS)
	$(CC) $(DEBUG) -c imclexer.c

sym.o : sym.c $(HEADERS)
	$(CC) $(DEBUG) -c sym.c

type.o : type.c $(HEADERS)
	$(CC) $(DEBUG) -c type.c

imc.o : imc.c $(HEADERS)
	$(CC) $(DEBUG) -c imc.c

imcc : imcparser.o imclexer.o imc.o
	$(CC) $(DEBUG) -o imcc imc.o imcparser.o imclexer.o $(LIBS)

