WINDRES = windres
TARGET = whatchord.exe

CXX = g++
CXXFLAGS = -std=c++17 -Wall -Wextra -O2

SRC_DIR = ../Sources

SDL3_CFLAGS := $(shell pkg-config --cflags sdl3 sdl3-ttf)
SDL3_LIBS   := $(shell pkg-config --libs sdl3 sdl3-ttf)

RTMIDI_CFLAGS := $(shell pkg-config --cflags rtmidi)
RTMIDI_LIBS   := $(shell pkg-config --libs rtmidi)

CXXFLAGS += $(SDL3_CFLAGS) $(RTMIDI_CFLAGS) -I$(SRC_DIR)
LDFLAGS  = $(SDL3_LIBS) $(RTMIDI_LIBS) -lpthread

SRCS = $(wildcard $(SRC_DIR)/*.C)

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

all: $(TARGET)

$(TARGET): $(OBJS)
	$(WINDRES) whatchord.rc -O coff -o whatchord.o
	$(CXX) $(OBJS) -o $(TARGET) $(LDFLAGS) whatchord.o

$(SRC_DIR)/%.o: $(SRC_DIR)/%.C
	$(CXX) $(CXXFLAGS) -c $< -o $@
	
install:
	@mv $(TARGET) ../
	@echo "whatchord.exe moved to parent directory"
	
clean: 
	rm -f $(OBJS) $(TARGET) whatchord.o
	
rebuild: clean all

.PHONY: all clean rebuild
