CC ?= gcc

TARGET = gridbrawl

SRCS = demo.c \
       game_logic.c \
       usbcontroller.c \
       vga_interface.c \
       audio_interface.c

OBJS = $(SRCS:.c=.o)

CFLAGS += -Wall -Wextra -std=c99 -D_POSIX_C_SOURCE=200809L
CFLAGS += $(shell pkg-config --cflags libusb-1.0 2>/dev/null)

LDLIBS += $(shell pkg-config --libs libusb-1.0 2>/dev/null)
LDLIBS += -lusb-1.0

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(OBJS) -o $(TARGET) $(LDLIBS)

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS) $(TARGET)