34 lines
488 B
Makefile
34 lines
488 B
Makefile
|
|
FLEX := flex
|
|
BISON := bison
|
|
|
|
TARGET := jlc
|
|
LDFLAGS := -lfl
|
|
|
|
COBJS := lex.yy.o
|
|
CXXOBJS := $(TARGET).tab.o
|
|
CXXOBJS += ASTNode.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)
|