include *.mk all: $(MAIN_OUTPUT) $(TEST_OUTPUT) format: clang-format -i $(SOURCES) $(wildcard $(INCLUDE_DIRECTORY)/*.hh) tidy: clang-tidy $(SOURCES) $(CLANG_TIDY_FLAGS) -- $(CC_FLAGS) $(BUILD_DIRECTORY)/%.o: $(SOURCE_DIRECTORY)/%.$(CC_EXTENSION) | $(BUILD_DIRECTORY) $(CC) $(CC_FLAGS) -MF $(@:.o=.d) -c $< -o $@ $(TEST_OUTPUT): $(TEST_OBJECTS) $(CC) $^ -o $@ $(MAIN_OUTPUT): $(MAIN_OBJECTS) $(CC) $^ -o $@ $(BUILD_DIRECTORY): mkdir -p $(BUILD_DIRECTORY) clean: rm -rf $(BUILD_DIRECTORY) -include $(CC_DEPENDENCIES) .PHONY: all format tidy clean