1 2 3 4
HEADERS=ast.hh conexpr.hh flatzinc.hh option.hh parser.hh parser.tab.hh registry.hh symboltable.hh varspec.hh SOURCES=flatzinc.cpp fz.cpp lexer.yy.cpp parser.tab.cpp registry.cpp CXXFLAGS=-O2 -g
5
6 7 8
all: fz %.o: %.cpp $(HEADERS)
9 10 11
$(CXX) $(CXXFLAGS) -c $< -o $@ fz: $(SOURCES:%.cpp=%.o)
12 13 14
$(CXX) $(CXXFLAGS) -o $@ $(SOURCES:%.cpp=%.o) lexer.yy.cpp: lexer.lxx parser.tab.hh
15
flex -olexer.yy.cpp lexer.lxx
16 17 18 19 20 21
parser.tab.hh parser.tab.cpp: parser.yxx bison -t -o parser.tab.cpp -d $< mv parser.tab.hpp parser.tab.hh .PHONY: clean distclean
22
clean:
23 24
rm -f $(SOURCES:%.cpp=%.o) rm -f fz
25
26 27
distclean: clean rm -f lexer.yy.cpp parser.tab.hh parser.tab.cpp