CXX = g++ CXX_FLAGS = -Wfatal-errors -Wall -Wextra -Wpedantic -Wconversion -Wshadow -Iinclude BIN = simplex BUILD_DIR = ./build CPP = $(wildcard src/*.cpp) OBJ = $(CPP:%.cpp=$(BUILD_DIR)/%.o) DEP = $(OBJ:%.o=%.d) $(BIN) : $(BUILD_DIR)/$(BIN) $(BUILD_DIR)/$(BIN) : $(OBJ) mkdir -p $(@D) $(CXX) $(CXX_FLAGS) $^ -o $@ -include $(DEP) $(BUILD_DIR)/%.o : %.cpp mkdir -p $(@D) $(CXX) $(CXX_FLAGS) -MMD -c $< -o $@ .PHONY : clean clean : -rm -rf $(BUILD_DIR)