CFLAGS= -I. -Wall -g -O0
FFLAGS=
BFLAGS= --verbose --yacc --defines --debug --report=all

#CFILES= y.tab.c ast.c mcc.c support/hash.c ast_utils.c symtab.c support/ast_iterator.c support/iterator.c support/list.c support/list_iterator.c support/ast_preorder_iterator.c tpl.c support/hash_iterator.c support/file.c
CFILES= y.tab.c ast.c ast_utils.c #c++98.c

OFILES=$(CFILES:%.c=%.o)

all: c98 

.c.o:
	gcc -g $(CFLAGS) -o $@ -c $<

c98: $(OFILES)
	gcc -g -g3 -o c++98 $(OFILES)

lex.yy.c: c++98.l
	flex $(FFLAGS) c++98.l

y.tab.c: lex.yy.c c++98.y 
	bison $(BFLAGS) c++98.y

clean:
	rm -f $(OFILES)
	rm -f y.tab.h y.tab.c y.output
	rm -f lex.yy.c
	rm -f *~
# DO NOT DELETE
