32 lines
535 B
Makefile
32 lines
535 B
Makefile
|
|
SHELL := bash
|
|
TARGET := jtlc
|
|
ifdef WIN32
|
|
TOPLEVEL := $(shell cd)
|
|
else
|
|
TOPLEVEL := $(shell pwd)
|
|
endif
|
|
export CPPFLAGS += -I"$(TOPLEVEL)"
|
|
export CXXFLAGS := -Wall -O2
|
|
|
|
LDFLAGS := -lfl
|
|
|
|
SUBDIRS := parser main nodes
|
|
|
|
all: $(TARGET)
|
|
|
|
.PHONY: $(TARGET)
|
|
$(TARGET):
|
|
@for d in $(SUBDIRS); \
|
|
do $(MAKE) -C $$d; \
|
|
ret=$$?; \
|
|
if [[ $$ret != 0 ]]; then \
|
|
exit $$ret; \
|
|
fi; \
|
|
done
|
|
$(CXX) -o $@ $(patsubst %,%/*.o,$(SUBDIRS)) $(CXXFLAGS) $(LDFLAGS)
|
|
|
|
clean:
|
|
for d in $(SUBDIRS); do $(MAKE) -C $$d clean CLEAN=1; done
|
|
-rm -f $(TARGET)
|