SDLFLAGS_CC:=$(shell PKG_CONFIG_PATH=~/local/lib/pkgconfig pkg-config sdl3 --cflags) -I/home/andrew/local/include
SDLFLAGS_LD:=$(shell PKG_CONFIG_PATH=~/local/lib/pkgconfig pkg-config sdl3 --libs) -lSDL3_image -lSDL3_mixer
CC:=$(shell which gcc)
LD:=$(shell which ld)
SRCFILES:=$(shell find src -type f -name '*.c')
OBJFILES:=$(patsubst %.c,%.o,$(SRCFILES))
PREPFILES:=$(patsubst %.c,%.E,$(SRCFILES))
ASMFILES:=$(patsubst %.c,%.S,$(SRCFILES))


CFLAGS:=-ggdb -gstabs

DISTFILE:=dist/sdl3-gametest

.PHONY: clean
.PHONY: preprocessor
.PHONY: assembler

all: $(DISTFILE)

preprocessor: $(PREPFILES)

assembler: $(ASMFILES)

clean:
	rm -f $(OBJFILES) $(PREPFILES) $(ASMFILES) ${DISTFILE}

src/%.S: src/%.c
	$(CC) -S -o $@ $(CFLAGS) $(SDLFLAGS_CC) $?

src/%.E: src/%.c
	$(CC) -E -o $@ $(CFLAGS) $(SDLFLAGS_CC) $?

src/%.o: src/%.c
	$(CC) -c -o $@ $(CFLAGS) $(SDLFLAGS_CC) $?

$(DISTFILE): $(OBJFILES)
	$(CC) -o $@ $^ -lbox2d -ljansson -lhashmap -lm $(SDLFLAGS_LD)
