test: move test build logic into dedicated Makefile
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
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
|
||||
|
||||
|
||||
.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)
|
||||
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
Reference in New Issue
Block a user