vc5/Makefile
2026-01-22 23:59:56 +01:00

38 lines
822 B
Makefile

MAKEFLAGS += -j16
CXXFLAGS := -std=c++23 -Wall -Wextra -pedantic-errors -fsanitize=address
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 -and -not -name *main.cpp)
vc5_sources := $(sources) src/main.cpp
asm_sources := $(sources) src/asm_main.cpp
all: $(build_dir)/vc5 $(build_dir)/asm
$(build_dir)/vc5: $(vc5_sources:%.cpp=$(obj_dir)/%.o)
@mkdir -p $(dir $@)
g++ $^ -o $@ $(CXXFLAGS) $(LDFLAGS)
$(build_dir)/asm: $(asm_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)