SDL ?= ../SDL3-3.4.0 DEBUG = -g -gdwarf-4 CSTD += -std=gnu11 CXXSTD += -std=gnu++14 CFLAGS += -Iinclude/ CFLAGS += -Wall -Werror -Wfatal-errors CFLAGS += -Wno-error=unused-function CFLAGS += -I$(SDL)/include -D_REENTRANT CXXFLAGS += -fno-exceptions LDFLAGS += -L$(SDL)/build -lSDL3 -Wl,-rpath=$(SDL)/build LDFLAGS += -nostdlib++ LDFLAGS += -lm LDFLAGS += -static-libgcc DEPFLAGS = -MMD -MP OPT = -Og all: main clean: rm -f *.o *.d *.gch rm -f main %.o: %.cpp $(CXX) $(CXXSTD) $(ARCH) $(CFLAGS) $(OPT) $(DEBUG) $(DEPFLAGS) -MF ${<}.d -c $< -o $@ %.o: %.c $(CC) $(CSTD) $(ARCH) $(CFLAGS) $(CXXFLAGS) $(OPT) $(DEBUG) $(DEPFLAGS) -MF ${<}.d -c $< -o $@ MAIN_OBJS = \ $(patsubst %.c,%.o,$(shell find src/ -type f -name '*.c')) \ $(patsubst %.cpp,%.o,$(shell find src/ -type f -name '*.cpp')) main: $(MAIN_OBJS) $(CXX) $^ $(CXXFLAGS) $(ARCH) -o $@ $(LDFLAGS) -include $(shell find -type f -name '*.d') .SUFFIXES: .INTERMEDIATE: .SECONDARY: .PHONY: all clean %: RCS/%,v %: RCS/% %: %,v %: s.% %: SCCS/s.%