tupl: src/tupl.cpp src/knowledgebase.cpp src/unification.cpp src/resolution.cpp src/parser/pl_lexer.cpp src/parser/pl_parser.cpp
	g++ -o tupl \
	    src/tupl.cpp \
	    src/knowledgebase.cpp \
	    src/unification.cpp \
	    src/resolution.cpp \
	    src/parser/pl_lexer.cpp \
	    src/parser/pl_parser.cpp

src/parser/pl_lexer.cpp: src/parser/pl_lexer.l
	flex -o src/parser/pl_lexer.cpp src/parser/pl_lexer.l

src/parser/pl_parser.cpp: src/parser/pl_parser.yy
	bison -o src/parser/pl_parser.cpp src/parser/pl_parser.yy

clean:
	rm -f tupl src/parser/location.hh src/parser/pl_lexer.cpp src/parser/pl_parser.cpp src/parser/pl_parser.hpp src/parser/position.hh src/parser/stack.hh
