CC = gcc

OBJD = obj
SRCS := $(wildcard *.c)
OBJS := $(SRCS:%.c=$(OBJD)/%.o)

# Compiler flags
CCFLAGS = -g
LDFLAGS = -lSDL2 -lSDL2_image -lSDL2_ttf

# Target executable name
TARGET = main

# Build target
all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(CCFLAGS) $^ -o $(TARGET) $(LDFLAGS) 

$(OBJS): $(OBJD)/%.o: %.c
	mkdir -p $(@D)
	$(CC) $(CCFLAGS) -c $? -o $@

TARGET1 = test

$(TARGET1): example-test-code/audiotest.c
	$(CC) $(CCFLAGS) $^ -o $(TARGET1) $(LDFLAGS) 

clean:
	rm -r $(TARGET) $(TARGET1) $(test) $(OBJD)

run: $(TARGET)
	./$(TARGET)

