summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile24
1 files changed, 9 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index a962a6f..7fb3bd0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,6 @@
-SOURCE_DIRECTORY = source
-INCLUDE_DIRECTORY = include
-BUILD_DIRECTORY = build
-CC = clang++
-CC_EXTENSION = cc
-CC_FLAGS = -std=c++23 -I $(INCLUDE_DIRECTORY) -Weverything -Wno-padded -Wno-c++98-compat -MMD
-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) -header-filter=.* -warnings-as-errors=* -system-headers=0
-SOURCES = $(wildcard $(SOURCE_DIRECTORY)/*.$(CC_EXTENSION))
-OBJECTS = $(SOURCES:$(SOURCE_DIRECTORY)/%.$(CC_EXTENSION)=$(BUILD_DIRECTORY)/%.o)
-DEPS = $(OBJECTS:.o=.d)
-
-all: $(BUILD_DIRECTORY)/book_store
+include *.mk
+
+all: $(MAIN_OUTPUT) $(TEST_OUTPUT)
format:
clang-format -i $(SOURCES) $(wildcard $(INCLUDE_DIRECTORY)/*.hh)
@@ -21,7 +11,10 @@ tidy:
$(BUILD_DIRECTORY)/%.o: $(SOURCE_DIRECTORY)/%.$(CC_EXTENSION) | $(BUILD_DIRECTORY)
$(CC) $(CC_FLAGS) -MF $(@:.o=.d) -c $< -o $@
-$(BUILD_DIRECTORY)/book_store: $(OBJECTS)
+$(TEST_OUTPUT): $(TEST_OBJECTS)
+ $(CC) $^ -o $@
+
+$(MAIN_OUTPUT): $(MAIN_OBJECTS)
$(CC) $^ -o $@
$(BUILD_DIRECTORY):
@@ -30,6 +23,7 @@ $(BUILD_DIRECTORY):
clean:
rm -rf $(BUILD_DIRECTORY)
--include $(DEPS)
+-include $(CC_DEPENDENCIES)
.PHONY: all format tidy clean
+