SRCS=$(shell find ./src -name '*.c' -type f) OBJS=$(patsubst %.c, %.o, ${SRCS}) DEPS=$(patsubst %.c, %.d, ${SRCS}) HDRS=$(shell find ./src -name '*.h' -type f) CFLAGS+=-ansi -m64 -Og -ggdb \ -pedantic -Wall -Wextra -Wshadow \ -Wcast-align -Wunused -Wconversion -Wmisleading-indentation \ -Wdouble-promotion -Wformat=2 -Wbad-function-cast \ -Wmissing-declarations \ -Wmissing-prototypes -Wnested-externs -Werror LDFLAGS+= -fsanitize=address ifneq ($(findstring -static, ${LDFLAGS}), ) LDFLAGS:=$(filter-out -fsanitize=address, ${LDFLAGS}) _PKGT_STATIC:=--static endif BIN := $(subst src/,,$(patsubst %.c, %, ${SRCS})) sdl3: CFLAGS+=$(shell pkg-config ${_PKG_STATIC} --cflags sdl3) sdl3: LDFLAGS+=$(shell pkg-config ${_PKG_STATIC} --libs sdl3) rl: CFLAGS+=$(shell pkg-config ${_PKG_STATIC} --cflags raylib) rl: LDFLAGS+=$(shell pkg-config ${_PKG_STATIC} --libs raylib) raw_x11: CFLAGS+=$(shell pkg-config ${_PKG_STATIC} --cflags x11) raw_x11: LDFLAGS+=$(shell pkg-config ${_PKG_STATIC} --libs x11) all: ${BIN} ${BIN}: %: src/%.o @echo -n "[LD] " gcc ${LDFLAGS} ${_LDFLAGS_$@} $^ -o $@ %.d: %.c gcc ${CFLAGS} -MM $^ > $@ include ${DEPS} tags: ${SRCS} ${HDRS} ctags --kinds-all=* --totals=yes $^ clean: rm -fv ${BIN} ${OBJS} fullclean: clean rm -fv ${DEPS}