CXX = g++-13
CXXFLAGS = -std=c++20 -Wall -g -fno-omit-frame-pointer -gdwarf-4 -Og -DLIBREMIDI_ALSA=1 -Wnarrowing
CXXINC = -I/usr/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include -Iinclude

LDLIBS = -lraylib 
LDFLAGS = -Llib -L/usr/lib -L/usr/local/lib

hdr_files = ${wildcard src/*.h}

src_files = ${wildcard src/*.cpp}
src_files += ${wildcard include/libremidi/*.cpp}

all: viseq
	
viseq: $(src_files) $(hdr_files)
	mkdir -p build
	$(CXX) ${wildcard build/*.o} -o viseq $(LDFLAGS) $(LDLIBS)
	
$(src_files): %.cpp : %_src
	$(CXX) -c $@ -o build/$(*F).o $(CXXFLAGS) $(CXXINC)

$(hdr_files): %.h : %_hdr
	@echo "G++  >---------- $(*F).h -----------<"

%_src:
	@echo "G++  >---------- $(*F).cpp -----------<"

%_hdr:
	@echo "G++  >---------- $(*F).h -----------<"

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