62 lines
1.1 KiB
Makefile
62 lines
1.1 KiB
Makefile
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)
|