diff --git a/makefile b/makefile index 36f6a611c6a75cc4f4a2860f885d830b6025ce8c..450edc726ace9af7438f3e6a4593df3a7618e51e 100644 --- a/makefile +++ b/makefile @@ -28,12 +28,14 @@ INC_DIR = include # Object files directory BUILD_DIR = build -TEST_BUILD_DIR = testBuilds # Test Variables +TEST_MAIN = DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN TEST_FLAG = __TEST_RUNNER__ +TEST_DEFINES = -D$(TEST_MAIN) -D$(TEST_FLAG) TEST_TARGET = $(BIN_DIR)/test_runner TEST_DIR = test +TEST_BUILD_DIR = $(BUILD_DIR)/.test # Executable directory BIN_DIR = bin @@ -52,10 +54,8 @@ TEST_FILES = $(wildcard $(TEST_DIR)/**/*.test.cpp $(TEST_DIR)/*.test.cpp) # Object files OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(BUILD_DIR)/%.o,$(SRC_FILES)) -TEST_OBJ_FILES = $(patsubst $(TEST_DIR)/%.test.cpp,$(TEST_BUILD_DIR)/%.test.o,$(TEST_FILES)) $(patsubst $(SRS_DIR)/%.cpp,$(TEST_BUILD_DIR)/%.o,$(TEST_FILES)) - -# Define this for running console-only -CONSOLE_DEFINE = -Dconsole +TEST_OBJ_FILES = $(patsubst $(TEST_DIR)/%.test.cpp,$(TEST_BUILD_DIR)/%.test.o,$(TEST_FILES)) +TEST_SRC_OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(TEST_BUILD_DIR)/%.src.o,$(SRC_FILES)) # Output executable TARGET = $(BIN_DIR)/game @@ -67,12 +67,24 @@ test: $(TEST_TARGET) $(TARGET): $(OBJ_FILES) $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJ_FILES) $(SDL_LIBRARY) $(SDL_OPTIONS) -$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp ${INC_DIR}/*.h +$(TEST_TARGET): $(TEST_OBJ_FILES) $(TEST_SRC_OBJ_FILES) + $(CXX) $(CXXFLAGS) -o $(TARGET) $(TEST_OBJ_FILES) $(TEST_SRC_OBJ_FILES) $(SDL_LIBRARY) $(SDL_OPTIONS) + +$(TEST_BUILD_DIR)/%.src.o: $(SRC_DIR)/%.cpp ${INC_DIR}/%.h + @mkdir -p $(@D) + $(CXX) $(CXXFLAGS) $(TEST_DEFINES) $(LDFLAGS) -I$(INC_DIR) -c -o $@ $< + +$(TEST_BUILD_DIR)/%.test.o: $(SRC_DIR)/%.test.cpp + @mkdir -p $(@D) + $(CXX) $(CXXFLAGS) $(TEST_DEFINES) $(LDFLAGS) -I$(INC_DIR) -c -o $@ $< + +$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp ${INC_DIR}/%.h @mkdir -p $(@D) $(CXX) $(CXXFLAGS) $(LDFLAGS) -I$(INC_DIR) -c -o $@ $< clean: - rm -rf $(BIN_DIR)/* $(BUILD_DIR)/* test_runnr + rm -rf $(TEST_BUILD_DIR)/* $(TEST_TARGET) + rm -rf $(BIN_DIR)/* $(BUILD_DIR)/* rm -rf ./*~ ./*.swp rm -rf *~ diff --git a/src/Scene.cpp b/src/scene.cpp similarity index 100% rename from src/Scene.cpp rename to src/scene.cpp