From 252c6a6ad6ae4359d84cf1c55089d22cfcfa3e6d Mon Sep 17 00:00:00 2001 From: ben Date: Sat, 7 Oct 2017 14:17:19 +0200 Subject: [PATCH] Update makefiles to include rtmidi and remove portmidi (Note: WIP, did not test build on windows/mac) --- Makefile | 44 ++++++++++++++++++++++++++++++++++++++------ dep/Makefile | 19 +++++++++---------- 2 files changed, 47 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index a779b2ee..cd038580 100644 --- a/Makefile +++ b/Makefile @@ -18,12 +18,44 @@ ifeq ($(ARCH), lin) TARGET = Rack endif +ifeq ($(ARCH), lin) + SOURCES += ext/osdialog/osdialog_gtk2.c + CFLAGS += $(shell pkg-config --cflags gtk+-2.0) + LDFLAGS += -rdynamic \ + -lpthread -lGL -ldl \ + $(shell pkg-config --libs gtk+-2.0) \ + -Ldep/lib -lGLEW -lglfw -ljansson -lsamplerate -lcurl -lzip -lportaudio -lrtmidi + TARGET = Rack +endif + +ifeq ($(ARCH), mac) + SOURCES += ext/osdialog/osdialog_mac.m + CXXFLAGS += -DAPPLE -stdlib=libc++ + LDFLAGS += -stdlib=libc++ -lpthread -ldl \ + -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo \ + -Ldep/lib -lGLEW -lglfw -ljansson -lsamplerate -lcurl -lzip -lportaudio -lrtmidi + TARGET = Rack +endif + +ifeq ($(ARCH), win) + SOURCES += ext/osdialog/osdialog_win.c + LDFLAGS += -static-libgcc -static-libstdc++ -lpthread \ + -Wl,--export-all-symbols,--out-implib,libRack.a -mwindows \ + -lgdi32 -lopengl32 -lcomdlg32 -lole32 \ + -Ldep/lib -lglew32 -lglfw3dll -lcurl -lzip -lportaudio_x64 -lrtmidi \ + -Wl,-Bstatic -ljansson -lsamplerate + TARGET = Rack.exe + OBJECTS = Rack.res +endif + + +all: $(TARGET) ifeq ($(ARCH), mac) SOURCES += ext/osdialog/osdialog_mac.m CXXFLAGS += -DAPPLE -stdlib=libc++ LDFLAGS += -stdlib=libc++ -lpthread -ldl \ -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo \ - -Ldep/lib -lGLEW -lglfw -ljansson -lsamplerate -lcurl -lzip -lportaudio -lportmidi + -Ldep/lib -lGLEW -lglfw -ljansson -lsamplerate -lcurl -lzip -lportaudio -lrtmidi TARGET = Rack endif @@ -32,7 +64,7 @@ ifeq ($(ARCH), win) LDFLAGS += -static-libgcc -static-libstdc++ -lpthread \ -Wl,--export-all-symbols,--out-implib,libRack.a -mwindows \ -lgdi32 -lopengl32 -lcomdlg32 -lole32 \ - -Ldep/lib -lglew32 -lglfw3dll -lcurl -lzip -lportaudio_x64 -lportmidi \ + -Ldep/lib -lglew32 -lglfw3dll -lcurl -lzip -lportaudio_x64 -lrtmidi \ -Wl,-Bstatic -ljansson -lsamplerate TARGET = Rack.exe OBJECTS = Rack.res @@ -98,7 +130,7 @@ ifeq ($(ARCH), mac) cp dep/lib/libcurl.4.dylib $(BUNDLE)/Contents/MacOS/ cp dep/lib/libzip.5.dylib $(BUNDLE)/Contents/MacOS/ cp dep/lib/libportaudio.2.dylib $(BUNDLE)/Contents/MacOS/ - cp dep/lib/libportmidi.dylib $(BUNDLE)/Contents/MacOS/ + cp dep/lib/librtmidi.dylib $(BUNDLE)/Contents/MacOS/ install_name_tool -change /usr/local/lib/libGLEW.2.1.0.dylib @executable_path/libGLEW.2.1.0.dylib $(BUNDLE)/Contents/MacOS/Rack install_name_tool -change lib/libglfw.3.dylib @executable_path/libglfw.3.dylib $(BUNDLE)/Contents/MacOS/Rack @@ -107,7 +139,7 @@ ifeq ($(ARCH), mac) install_name_tool -change $(PWD)/dep/lib/libcurl.4.dylib @executable_path/libcurl.4.dylib $(BUNDLE)/Contents/MacOS/Rack install_name_tool -change $(PWD)/dep/lib/libzip.5.dylib @executable_path/libzip.5.dylib $(BUNDLE)/Contents/MacOS/Rack install_name_tool -change $(PWD)/dep/lib/libportaudio.2.dylib @executable_path/libportaudio.2.dylib $(BUNDLE)/Contents/MacOS/Rack - install_name_tool -change @rpath/libportmidi.dylib @executable_path/libportmidi.dylib $(BUNDLE)/Contents/MacOS/Rack + install_name_tool -change @rpath/librtmidi.dylib @executable_path/librtmidi.dylib $(BUNDLE)/Contents/MacOS/Rack otool -L $(BUNDLE)/Contents/MacOS/Rack @@ -126,7 +158,7 @@ ifeq ($(ARCH), win) cp dep/bin/glfw3.dll dist/Rack/ cp dep/bin/libcurl-4.dll dist/Rack/ cp dep/bin/libjansson-4.dll dist/Rack/ - cp dep/bin/libportmidi.dll dist/Rack/ + cp dep/bin/librtmidi.dll dist/Rack/ cp dep/bin/libsamplerate-0.dll dist/Rack/ cp dep/bin/libzip-5.dll dist/Rack/ cp dep/bin/portaudio_x64.dll dist/Rack/ @@ -144,7 +176,7 @@ ifeq ($(ARCH), lin) cp dep/lib/libcurl.so.4 dist/Rack/ cp dep/lib/libzip.so.5 dist/Rack/ cp dep/lib/libportaudio.so.2 dist/Rack/ - cp dep/lib/libportmidi.so dist/Rack/ + cp dep/lib/librtmidi.so dist/Rack/ mkdir -p dist/Rack/plugins cp -R plugins/Fundamental/dist/Fundamental dist/Rack/plugins/ endif diff --git a/dep/Makefile b/dep/Makefile index b60ae59a..f9291d68 100755 --- a/dep/Makefile +++ b/dep/Makefile @@ -1,4 +1,3 @@ - LOCAL = $(shell pwd) # Arch-specifics @@ -28,7 +27,7 @@ ifeq ($(ARCH),lin) libsamplerate = lib/libsamplerate.so libcurl = lib/libcurl.so libzip = lib/libzip.so - portmidi = lib/libportmidi.so + rtmidi = lib/librtmidi.so portaudio = lib/libportaudio.so endif @@ -39,7 +38,7 @@ ifeq ($(ARCH),mac) libsamplerate = lib/libsamplerate.dylib libcurl = lib/libcurl.dylib libzip = lib/libzip.dylib - portmidi = lib/libportmidi.dylib + rtmidi = lib/librtmidi.dylib portaudio = lib/libportaudio.dylib endif @@ -50,14 +49,14 @@ ifeq ($(ARCH),win) libsamplerate = bin/libsamplerate-0.dll libcurl = bin/libcurl-4.dll libzip = bin/libzip-5.dll - portmidi = bin/libportmidi.dll + rtmidi = bin/rtmidi.dll portaudio = bin/libportaudio_x64.dll endif .NOTPARALLEL: -all: $(glew) $(glfw) $(jansson) $(libsamplerate) $(libcurl) $(libzip) $(portmidi) $(portaudio) +all: $(glew) $(glfw) $(jansson) $(libsamplerate) $(libcurl) $(libzip) $(rtmidi) $(portaudio) @echo "" @echo "#######################################" @echo "# Built all dependencies successfully #" @@ -114,11 +113,11 @@ $(libzip): $(MAKE) -C libzip-1.2.0 $(MAKE) -C libzip-1.2.0 install -$(portmidi): - git clone https://github.com/AndrewBelt/portmidi.git portmidi - cd portmidi && $(CMAKE) . -DCMAKE_INSTALL_PREFIX="$(LOCAL)" -DCMAKE_BUILD_TYPE=Release - $(MAKE) -C portmidi - $(MAKE) -C portmidi install +$(rtmidi): + git clone https://github.com/thestk/rtmidi.git rtmidi + cd rtmidi && ./autogen.sh && ./configure --prefix="$(LOCAL)" + $(MAKE) -C rtmidi + $(MAKE) -C rtmidi install $(portaudio): ifeq ($(ARCH),win)