@@ -1,14 +1,14 @@ | |||||
[submodule "ext/nanovg"] | [submodule "ext/nanovg"] | ||||
path = ext/nanovg | |||||
path = dep/nanovg | |||||
url = https://github.com/memononen/nanovg.git | url = https://github.com/memononen/nanovg.git | ||||
[submodule "ext/nanosvg"] | [submodule "ext/nanosvg"] | ||||
path = ext/nanosvg | |||||
path = dep/nanosvg | |||||
url = https://github.com/memononen/nanosvg.git | url = https://github.com/memononen/nanosvg.git | ||||
[submodule "ext/osdialog"] | [submodule "ext/osdialog"] | ||||
path = ext/osdialog | |||||
path = dep/osdialog | |||||
url = https://github.com/AndrewBelt/osdialog.git | url = https://github.com/AndrewBelt/osdialog.git | ||||
[submodule "ext/oui-blendish"] | [submodule "ext/oui-blendish"] | ||||
path = ext/oui-blendish | |||||
path = dep/oui-blendish | |||||
url = https://github.com/AndrewBelt/oui-blendish.git | url = https://github.com/AndrewBelt/oui-blendish.git | ||||
[submodule "dep/glfw"] | [submodule "dep/glfw"] | ||||
path = dep/glfw | path = dep/glfw | ||||
@@ -8,14 +8,14 @@ ifdef RELEASE | |||||
FLAGS += -DRELEASE=$(RELEASE) | FLAGS += -DRELEASE=$(RELEASE) | ||||
endif | endif | ||||
SOURCES = $(wildcard src/*.cpp src/*/*.cpp) \ | |||||
ext/nanovg/src/nanovg.c | |||||
SOURCES += $(wildcard src/*.cpp src/*/*.cpp) | |||||
SOURCES += dep/nanovg/src/nanovg.c | |||||
include arch.mk | include arch.mk | ||||
ifeq ($(ARCH), lin) | ifeq ($(ARCH), lin) | ||||
SOURCES += ext/osdialog/osdialog_gtk2.c | |||||
SOURCES += dep/osdialog/osdialog_gtk2.c | |||||
CFLAGS += $(shell pkg-config --cflags gtk+-2.0) | CFLAGS += $(shell pkg-config --cflags gtk+-2.0) | ||||
LDFLAGS += -rdynamic \ | LDFLAGS += -rdynamic \ | ||||
-lpthread -lGL -ldl \ | -lpthread -lGL -ldl \ | ||||
@@ -25,7 +25,7 @@ ifeq ($(ARCH), lin) | |||||
endif | endif | ||||
ifeq ($(ARCH), mac) | ifeq ($(ARCH), mac) | ||||
SOURCES += ext/osdialog/osdialog_mac.m | |||||
SOURCES += dep/osdialog/osdialog_mac.m | |||||
CXXFLAGS += -DAPPLE -stdlib=libc++ | CXXFLAGS += -DAPPLE -stdlib=libc++ | ||||
LDFLAGS += -stdlib=libc++ -lpthread -ldl \ | LDFLAGS += -stdlib=libc++ -lpthread -ldl \ | ||||
-framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo \ | -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo \ | ||||
@@ -35,7 +35,7 @@ ifeq ($(ARCH), mac) | |||||
endif | endif | ||||
ifeq ($(ARCH), win) | ifeq ($(ARCH), win) | ||||
SOURCES += ext/osdialog/osdialog_win.c | |||||
SOURCES += dep/osdialog/osdialog_win.c | |||||
LDFLAGS += -static-libgcc -static-libstdc++ -lpthread \ | LDFLAGS += -static-libgcc -static-libstdc++ -lpthread \ | ||||
-Wl,--export-all-symbols,--out-implib,libRack.a -mwindows \ | -Wl,--export-all-symbols,--out-implib,libRack.a -mwindows \ | ||||
-lgdi32 -lopengl32 -lcomdlg32 -lole32 \ | -lgdi32 -lopengl32 -lcomdlg32 -lole32 \ | ||||
@@ -94,6 +94,8 @@ include compile.mk | |||||
dist: all | dist: all | ||||
rm -rf dist | rm -rf dist | ||||
# Rack distribution | |||||
$(MAKE) -C plugins/Fundamental dist | $(MAKE) -C plugins/Fundamental dist | ||||
ifeq ($(ARCH), mac) | ifeq ($(ARCH), mac) | ||||
@@ -184,6 +186,14 @@ ifeq ($(ARCH), lin) | |||||
cd dist && zip -5 -r Rack-$(VERSION)-$(ARCH).zip Rack | cd dist && zip -5 -r Rack-$(VERSION)-$(ARCH).zip Rack | ||||
endif | endif | ||||
# Rack SDK distribution | |||||
mkdir -p dist/Rack-SDK | |||||
cp -R include dist/Rack-SDK/ | |||||
cp *.mk dist/Rack-SDK/ | |||||
mkdir -p dist/Rack-SDK/dep/ | |||||
cp -R dep/include dist/Rack-SDK/dep/ | |||||
cd dist && zip -5 -r Rack-SDK-$(VERSION)-$(ARCH).zip Rack-SDK | |||||
# Obviously this will only work if you have the private keys to my server | # Obviously this will only work if you have the private keys to my server | ||||
UPLOAD_URL = vortico@vcvrack.com:files/ | UPLOAD_URL = vortico@vcvrack.com:files/ | ||||
@@ -64,10 +64,15 @@ ifeq ($(ARCH),win) | |||||
openssl = bin/libssl-1_1-x64.dll | openssl = bin/libssl-1_1-x64.dll | ||||
endif | endif | ||||
nanovg = include/nanovg.h | |||||
nanosvg = include/nanosvg.h | |||||
oui-blendish = include/blendish.h | |||||
osdialog = include/osdialog.h | |||||
.NOTPARALLEL: | .NOTPARALLEL: | ||||
all: $(glew) $(glfw) $(jansson) $(libspeexdsp) $(libcurl) $(libzip) $(rtmidi) $(rtaudio) | |||||
all: $(glew) $(glfw) $(jansson) $(libspeexdsp) $(libcurl) $(libzip) $(rtmidi) $(rtaudio) $(nanovg) $(nanosvg) $(oui-blendish) $(osdialog) | |||||
@echo "" | @echo "" | ||||
@echo "#######################################" | @echo "#######################################" | ||||
@echo "# Built all dependencies successfully #" | @echo "# Built all dependencies successfully #" | ||||
@@ -149,5 +154,17 @@ $(rtaudio): | |||||
$(MAKE) -C rtaudio/build | $(MAKE) -C rtaudio/build | ||||
$(MAKE) -C rtaudio/build install | $(MAKE) -C rtaudio/build install | ||||
$(nanovg): | |||||
cp nanovg/src/*.h include/ | |||||
$(nanosvg): | |||||
cp nanosvg/src/*.h include/ | |||||
$(oui-blendish): | |||||
cp oui-blendish/*.h include/ | |||||
$(osdialog): | |||||
cp osdialog/*.h include/ | |||||
clean: | clean: | ||||
git clean -ffdx | git clean -ffdx |
@@ -1,6 +1,6 @@ | |||||
#pragma once | #pragma once | ||||
#include "widgets.hpp" | #include "widgets.hpp" | ||||
#include "../ext/oui-blendish/blendish.h" | |||||
#include "blendish.h" | |||||
namespace rack { | namespace rack { | ||||
@@ -2,7 +2,7 @@ | |||||
#include "util/math.hpp" | #include "util/math.hpp" | ||||
#include "../ext/nanovg/src/nanovg.h" | |||||
#include "nanovg.h" | |||||
namespace rack { | namespace rack { | ||||
@@ -2,8 +2,8 @@ | |||||
#include <list> | #include <list> | ||||
#include <memory> | #include <memory> | ||||
#include "../ext/nanovg/src/nanovg.h" | |||||
#include "../ext/nanosvg/src/nanosvg.h" | |||||
#include "nanovg.h" | |||||
#include "nanosvg.h" | |||||
#include "util/common.hpp" | #include "util/common.hpp" | ||||
#include "events.hpp" | #include "events.hpp" | ||||
@@ -2,7 +2,7 @@ | |||||
#include "app.hpp" | #include "app.hpp" | ||||
#include "plugin.hpp" | #include "plugin.hpp" | ||||
#include "window.hpp" | #include "window.hpp" | ||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "osdialog.h" | |||||
namespace rack { | namespace rack { | ||||
@@ -1,7 +1,7 @@ | |||||
#include "app.hpp" | #include "app.hpp" | ||||
#include "window.hpp" | #include "window.hpp" | ||||
#include "util/request.hpp" | #include "util/request.hpp" | ||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "osdialog.h" | |||||
#include <string.h> | #include <string.h> | ||||
#include <thread> | #include <thread> | ||||
@@ -6,7 +6,7 @@ | |||||
#include "asset.hpp" | #include "asset.hpp" | ||||
#include <map> | #include <map> | ||||
#include <algorithm> | #include <algorithm> | ||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "osdialog.h" | |||||
namespace rack { | namespace rack { | ||||
@@ -1,7 +1,7 @@ | |||||
#include "asset.hpp" | #include "asset.hpp" | ||||
#include "util/common.hpp" | #include "util/common.hpp" | ||||
#include <sys/stat.h> // for mkdir | #include <sys/stat.h> // for mkdir | ||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "osdialog.h" | |||||
#if ARCH_MAC | #if ARCH_MAC | ||||
#include <CoreFoundation/CoreFoundation.h> | #include <CoreFoundation/CoreFoundation.h> | ||||
@@ -6,7 +6,7 @@ | |||||
#include "settings.hpp" | #include "settings.hpp" | ||||
#include "asset.hpp" | #include "asset.hpp" | ||||
#include <unistd.h> | #include <unistd.h> | ||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "osdialog.h" | |||||
using namespace rack; | using namespace rack; | ||||
@@ -1,9 +1,8 @@ | |||||
#include "widgets.hpp" | #include "widgets.hpp" | ||||
#include "window.hpp" | #include "window.hpp" | ||||
#include <GL/glew.h> | #include <GL/glew.h> | ||||
#include "../ext/nanovg/src/nanovg_gl.h" | |||||
#include "../ext/nanovg/src/nanovg_gl_utils.h" | |||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "nanovg_gl.h" | |||||
#include "nanovg_gl_utils.h" | |||||
namespace rack { | namespace rack { | ||||
@@ -6,21 +6,21 @@ | |||||
#include <queue> | #include <queue> | ||||
#include <thread> | #include <thread> | ||||
#include "../ext/osdialog/osdialog.h" | |||||
#include "osdialog.h" | |||||
#define NANOVG_GL2 1 | #define NANOVG_GL2 1 | ||||
// #define NANOVG_GL3 1 | // #define NANOVG_GL3 1 | ||||
// #define NANOVG_GLES2 1 | // #define NANOVG_GLES2 1 | ||||
#define NANOVG_GL_IMPLEMENTATION 1 | #define NANOVG_GL_IMPLEMENTATION 1 | ||||
#include "../ext/nanovg/src/nanovg_gl.h" | |||||
#include "nanovg_gl.h" | |||||
// Hack to get framebuffer objects working on OpenGL 2 (we blindly assume the extension is supported) | // Hack to get framebuffer objects working on OpenGL 2 (we blindly assume the extension is supported) | ||||
#define NANOVG_FBO_VALID 1 | #define NANOVG_FBO_VALID 1 | ||||
#include "../ext/nanovg/src/nanovg_gl_utils.h" | |||||
#include "nanovg_gl_utils.h" | |||||
#define BLENDISH_IMPLEMENTATION | #define BLENDISH_IMPLEMENTATION | ||||
#include "../ext/oui-blendish/blendish.h" | |||||
#include "blendish.h" | |||||
#define NANOSVG_IMPLEMENTATION | #define NANOSVG_IMPLEMENTATION | ||||
#define NANOSVG_ALL_COLOR_KEYWORDS | #define NANOSVG_ALL_COLOR_KEYWORDS | ||||
#include "../ext/nanosvg/src/nanosvg.h" | |||||
#include "nanosvg.h" | |||||
#ifdef ARCH_MAC | #ifdef ARCH_MAC | ||||
// For CGAssociateMouseAndMouseCursorPosition | // For CGAssociateMouseAndMouseCursorPosition | ||||