EXE = CheaterHub export DIR = $(shell pwd) export BUILD_DIR = $(DIR)/build WORDSCAPES_DIR = wordscapes vpath %.o $(BUILD_DIR) export MAKE := make export CXX := g++ export OPTIONS = -std=c++11 MODE ?= debug OBJ = cheaterHub.o OBJ_ADDITION = wordscapes.o ifeq ($(strip $(MODE)), release) OPTIONS += -O2 TARGET = $(EXE) else OPTIONS += -g TARGET = $(EXE)-staging endif all: build_wordscapes $(TARGET) build_wordscapes: @mkdir -p $(BUILD_DIR) $(MAKE) -C $(WORDSCAPES_DIR) $(TARGET): $(OBJ) $(CXX) $(OPTIONS) -pthread \ $(addprefix $(BUILD_DIR)/, $(OBJ)) \ $(addprefix $(BUILD_DIR)/, $(OBJ_ADDITION)) \ -o $(BUILD_DIR)/$@ $(OBJ):%.o:%.cc @mkdir -p $(BUILD_DIR) $(CXX) $(OPTIONS) -c $< -o $(BUILD_DIR)/$@ clean: $(MAKE) -C $(WORDSCAPES_DIR) clean rm -rf $(BUILD_DIR)