.PHONE: 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

SRCS := $(wildcard src/*.cpp)
OBJECTS := $(patsubst src/%.cpp,build/%.o, $(SRCS))


viseq: $(OBJECTS)
	$(CXX) $(OBJECTS) -o $@ $(LDFLAGS) $(LDLIBS)

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

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