#CFLAGS = -lSDL3 -lm -g
CFLAGS = -I /usr/local/include -g -std=c23
CEFLAGS = -L/usr/local/lib -lSDL3 -lm

BUILDDIR = build
srcs != ls *.c; ls logic/*.c; ls gui/*.c
fonts != ls fonts/*.otf;# ls fonts/*.ttf
#font_objects = $(fonts:%=%.o)
font_objects = $(fonts:%=$(BUILDDIR)/%.o)
#c_objects = $(srcs:%=%.o)
c_objects = $(srcs:%=$(BUILDDIR)/%.o)
objects = $(c_objects) $(font_objects)

.POSIX:
.SUFFIXES:
.SUFFIXES: .o .c .ttf .otf

#$(BUILDDIR)/game: $(objects)
$(BUILDDIR)/game: main.c build/gui/nuklear.c.o
	$(CC) $(CFLAGS) $(CEFLAGS) -o $@ $>
#$(BUILDDIR)/%.c.o: %.c
$(c_objects): $(@:$(BUILDDIR)/%.c.o=%.c)
	mkdir -p $(@D)
	$(CC) $(CFLAGS) -o $@ -c $>
#$(BUILDDIR)/%.otf.o: %.otf
$(font_objects): $(@:$(BUILDDIR)/%.o=%)
	mkdir -p $(@D)
	ld -r --format=binary -m elf_amd64 -o $@ $>

.PHONY: test
test: $(BUILDDIR)/game
	$(BUILDDIR)/game
.PHONY: clean
clean:
	rm -r $(BUILDDIR)
