CC ?= cc
SDL_IMAGE_PKG ?= sdl3-image

CPPFLAGS += -Isrc -Ivendor $(shell pkg-config --cflags sdl3 $(SDL_IMAGE_PKG))
CFLAGS ?= -O2
CFLAGS += -Wall -Wextra -Werror -std=c11
LDLIBS += $(shell pkg-config --libs sdl3 $(SDL_IMAGE_PKG)) -lm

PROGRAM := accent-extract
SOURCES := src/main.c src/image.c src/colour.c src/candidates.c src/arena.c
OBJECTS := $(SOURCES:.c=.o)
TEST_OBJECTS := tests/test.o src/image.o src/colour.o src/candidates.o src/arena.o

.PHONY: all clean test

all: $(PROGRAM)

$(PROGRAM): $(OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS)

tests/test: $(TEST_OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(TEST_OBJECTS) $(LDLIBS)

test: tests/test
	./tests/test

clean:
	$(RM) $(PROGRAM) $(OBJECTS) tests/test.o tests/test