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)