summaryrefslogtreecommitdiff
path: root/Makefile
blob: 7fb3bd0029bbec55f6686e71b8041e894f00bc9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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