refactor(build): reorganize makefiles and split test targets
This commit is contained in:
+8
-57
@@ -1,62 +1,13 @@
|
||||
ROOT_DIR := $(abspath ..)
|
||||
|
||||
CXX := gcc
|
||||
|
||||
CXXFLAGS := -std=c++17 \
|
||||
-Wall \
|
||||
-Wextra \
|
||||
-Werror \
|
||||
-I$(ROOT_DIR)/core/include \
|
||||
-I$(ROOT_DIR)/logger/include \
|
||||
-Ihelpers
|
||||
|
||||
LDFLAGS := -lstdc++
|
||||
|
||||
BUILD_DIR := $(ROOT_DIR)/build
|
||||
|
||||
|
||||
RESULT_TEST_BIN := $(BUILD_DIR)/result_test
|
||||
LOGGER_TEST_BIN := $(BUILD_DIR)/logger_test
|
||||
SCOPED_FILE_TEST_BIN := $(BUILD_DIR)/scoped_file_test
|
||||
|
||||
|
||||
RESULT_TEST_SRC := core/result_test.cpp
|
||||
LOGGER_TEST_SRC := core/logger_test.cpp
|
||||
SCOPED_FILE_TEST_SRC := helpers/scoped_file_test.cpp
|
||||
|
||||
|
||||
LOGGER_SRC := $(ROOT_DIR)/logger/src/logger.cpp \
|
||||
$(ROOT_DIR)/logger/src/time_utils.cpp
|
||||
|
||||
|
||||
.PHONY: all test clean
|
||||
|
||||
|
||||
all: test
|
||||
|
||||
|
||||
test: $(RESULT_TEST_BIN) \
|
||||
$(LOGGER_TEST_BIN) \
|
||||
$(SCOPED_FILE_TEST_BIN)
|
||||
$(RESULT_TEST_BIN)
|
||||
$(LOGGER_TEST_BIN)
|
||||
$(SCOPED_FILE_TEST_BIN)
|
||||
|
||||
|
||||
$(RESULT_TEST_BIN): $(RESULT_TEST_SRC)
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
$(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS)
|
||||
|
||||
|
||||
$(LOGGER_TEST_BIN): $(LOGGER_TEST_SRC) $(LOGGER_SRC)
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
|
||||
$(SCOPED_FILE_TEST_BIN): $(SCOPED_FILE_TEST_SRC)
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
$(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS)
|
||||
.PHONY: all clean
|
||||
|
||||
all:
|
||||
$(MAKE) -C app
|
||||
$(MAKE) -C core
|
||||
$(MAKE) -C logger
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
$(MAKE) -C app clean
|
||||
$(MAKE) -C core clean
|
||||
$(MAKE) -C logger clean
|
||||
|
||||
Reference in New Issue
Block a user