kaleidoscope: lex.yy.o parser.tab.o ast.o
	g++ -std=c++11 -Wall -o $@ $^
lex.yy.o: lex.yy.c parser.tab.hpp ast.hpp
	g++  -std=c++11 -Wall -Wno-sign-compare -c -o $@ $<
lex.yy.c: lexer.lex
	flex $<
parser.tab.o: parser.tab.cpp parser.tab.hpp ast.hpp
	g++ -std=c++11 -Wall -c -o $@ $<
parser.tab.cpp parser.tab.hpp: parser.ypp
	bison -d -v $<
ast.o: ast.cpp ast.hpp
	g++ -std=c++11 -Wall -c -o $@ $<


.PHONY: clean

clean:
	rm -f *~ *.o lex.yy.c kaleidoscope *.output parser.tab.*


