TARGET := fart ifdef WIN32 export CPPFLAGS += -I"$(shell cd)" else export CPPFLAGS += -I"$(shell pwd)" endif export CXXFLAGS := -Wall -O2 LDFLAGS := -lfl SUBDIRS := util shapes main parser 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)