FLEX := flex BISON := bison TARGET := jlc LDFLAGS := -lfl all: $(TARGET) $(TARGET): lex.yy.o $(TARGET).tab.o $(CXX) -o $@ $^ $(LDFLAGS) lex.yy.o: lex.yy.c $(TARGET).tab.hh $(CC) -c -o $@ $< $(TARGET).tab.o: $(TARGET).tab.cc $(CXX) -c -o $@ $< $(TARGET).tab.cc $(TARGET).tab.hh: $(TARGET).yy $(BISON) -d $< lex.yy.c: $(TARGET).lex $(FLEX) $< clean: -rm -f lex.yy.c $(TARGET).tab.cc $(TARGET).tab.hh *~ *.o $(TARGET)