| @@ -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 | ||||