diff options
Diffstat (limited to 'config.mk')
| -rw-r--r-- | config.mk | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..5637879 --- /dev/null +++ b/config.mk @@ -0,0 +1,32 @@ +# Input & Output Directories +SOURCE_DIRECTORY = source +INCLUDE_DIRECTORY = include +BUILD_DIRECTORY = build + +# Clang-Tidy Configuration +CLANG_TIDY_CHECKS = '-*,bugprone-*,clang-analyzer-*,concurrency-*,cppcoreguildelines-*,llvm-*,misc-*,modernize-*,performance-*,portability-*,readability-*,-readability-magic-numbers,-llvm-header-guard' +CLANG_TIDY_FLAGS = -checks=$(CLANG_TIDY_CHECKS) -warnings-as-errors=* -quiet + +# All Sources & Objects +SOURCES = $(wildcard $(SOURCE_DIRECTORY)/*.$(CC_EXTENSION)) +OBJECTS = $(SOURCES:$(SOURCE_DIRECTORY)/%.$(CC_EXTENSION)=$(BUILD_DIRECTORY)/%.o) + +# Main Sources & Objects +MAIN_SOURCES = $(filter-out $(SOURCE_DIRECTORY)/test.cc, $(SOURCES)) +MAIN_OBJECTS = $(MAIN_SOURCES:$(SOURCE_DIRECTORY)/%.$(CC_EXTENSION)=$(BUILD_DIRECTORY)/%.o) + +# Test Sources & Objects +TEST_SOURCES = $(filter-out $(SOURCE_DIRECTORY)/main.cc, $(SOURCES)) +TEST_OBJECTS = $(TEST_SOURCES:$(SOURCE_DIRECTORY)/%.$(CC_EXTENSION)=$(BUILD_DIRECTORY)/%.o) + +# Compiler Configuration +CC = clang++ +CC_EXTENSION = cc +CC_FLAGS = -std=c++23 -I $(INCLUDE_DIRECTORY) -Weverything -Wno-padded -Wno-c++98-compat -MMD -W-noc++98-compat-pedantic +CC_DEPENDENCIES = $(OBJECTS:.o=.d) + +# Output Configuration +NAME = book_store +MAIN_OUTPUT = $(BUILD_DIRECTORY)/$(NAME) +TEST_OUTPUT = $(BUILD_DIRECTORY)/$(NAME)_test + |