.PHONY: all clean

CXX := g++
CXXFLAGS = -std=c++23 -Wall -g -fno-omit-frame-pointer -gdwarf-4 -Og -Wnarrowing -DLIBREMIDI_ALSA=1 -DLIBREMIDI_HEADER_ONLY=1
CXXINC := -Iinclude -isysteminclude

LDLIBS := -lraylib -lasound -llibremidi -pthread 
LDFLAGS := -Llib -L/usr/lib -L/usr/local/lib

SOURCES := $(wildcard src/*.cpp)
OBJECTS := $(SOURCES:src%.cpp=build%.o)

all: viseq
	
viseq: $(OBJECTS)
	@mkdir -p build
	$(CXX) $(LDFLAGS) $(LDLIBS) -o viseq $^

build/%.o: src/%.cpp
	$(CXX) $(CXXFLAGS) $(CXXINC) -c $< -o $@ 

clean:
	rm -f build/*
	rm -f viseq
