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