MAKEFLAGS += -j16 CXXFLAGS := -std=c++23 -Wall -Wextra -pedantic-errors -fsanitize=address,undefined LDFLAGS := CXXFLAGS += $(shell pkgconf sdl2 --cflags) CXXFLAGS += $(shell pkgconf sdl2 --libs) build_dir = build obj_dir = $(build_dir)/obj sources := $(shell find src/ -name *.cpp) all: $(build_dir)/vc5 $(build_dir)/vc5: $(sources:%.cpp=$(obj_dir)/%.o) @mkdir -p $(dir $@) g++ $^ -o $@ $(CXXFLAGS) $(LDFLAGS) $(obj_dir)/%.o: %.cpp @mkdir -p $(dir $@) g++ $< -c -o $@ -MMD -MP $(CXXFLAGS) .PHONY: clean clean: rm -rf $(build_dir) -include $(sources:%.cpp=$(obj_dir)/%.d)