Signed-off-by: falkTX <falktx@falktx.com>tags/22.02
@@ -18,12 +18,22 @@ SYSDEPS ?= false | |||
# -------------------------------------------------------------- | |||
# Check for system-wide dependencies | |||
# HAVE_LIBARCHIVE = $(shell pkg-config --exists libarchive && echo true) | |||
# | |||
# libjansson.a | |||
# libsamplerate.a | |||
# libspeexdsp.a | |||
# libzstd.a | |||
ifeq ($(SYSDEPS),true) | |||
ifneq ($(shell pkg-config --exists jansson && echo true),true) | |||
$(error jansson dpendency not installed/available) | |||
endif | |||
ifneq ($(shell pkg-config --exists libarchive && echo true),true) | |||
$(error libarchive dpendency not installed/available) | |||
endif | |||
ifneq ($(shell pkg-config --exists samplerate && echo true),true) | |||
$(error samplerate dpendency not installed/available) | |||
endif | |||
ifneq ($(shell pkg-config --exists speexdsp && echo true),true) | |||
$(error speexdsp dpendency not installed/available) | |||
endif | |||
endif | |||
# -------------------------------------------------------------- | |||
@@ -31,7 +41,9 @@ cardinal: deps dgl plugins | |||
$(MAKE) all -C src | |||
deps: | |||
ifneq ($(SYSDEPS),true) | |||
$(MAKE) all -C deps | |||
endif | |||
dgl: | |||
$(MAKE) USE_NANOVG_FBO=true USE_RGBA=true -C dpf/dgl opengl | |||
@@ -4,7 +4,12 @@ | |||
# Created by falkTX | |||
# | |||
DEP_PATH = $(abspath ../src/Rack/dep) | |||
# -------------------------------------------------------------- | |||
# Build config | |||
PREFIX ?= /usr/local | |||
DESTDIR ?= | |||
SYSDEPS ?= false | |||
# -------------------------------------------------------------- | |||
# Import base definitions | |||
@@ -259,9 +264,6 @@ BASE_FLAGS += -I../include/neon-compat | |||
BASE_FLAGS += -I../src | |||
BASE_FLAGS += -I../src/Rack/include | |||
BASE_FLAGS += -I../src/Rack/include/dsp | |||
BASE_FLAGS += -I../src/Rack/dep/include | |||
# BASE_FLAGS += -I../src/Rack/dep/filesystem/include | |||
# BASE_FLAGS += -I../src/Rack/dep/fuzzysearchdatabase/src | |||
BASE_FLAGS += -I../src/Rack/dep/glfw/include | |||
BASE_FLAGS += -I../src/Rack/dep/nanosvg/src | |||
BASE_FLAGS += -I../src/Rack/dep/osdialog | |||
@@ -269,6 +271,12 @@ BASE_FLAGS += -I../src/Rack/dep/oui-blendish | |||
BASE_FLAGS += -I../src/Rack/dep/pffft | |||
BASE_FLAGS += -pthread | |||
# ifneq ($(SYSDEPS),true) | |||
# BASE_FLAGS += -I../src/Rack/dep/include | |||
# # BASE_FLAGS += -I../src/Rack/dep/filesystem/include | |||
# # BASE_FLAGS += -I../src/Rack/dep/fuzzysearchdatabase/src | |||
# endif | |||
ifeq ($(WINDOWS),true) | |||
BASE_FLAGS += -D_USE_MATH_DEFINES | |||
BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||
@@ -85,11 +85,13 @@ struct Initializer { | |||
if (asset::systemDir.empty()) | |||
{ | |||
#ifdef CARDINAL_PLUGIN_SOURCE_DIR | |||
// Make system dir point to source code location as fallback | |||
asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack"; | |||
// And if that fails, use install target prefix | |||
if (! system::isDirectory(system::join(asset::systemDir, "res"))) | |||
#endif | |||
{ | |||
asset::bundlePath = CARDINAL_PLUGIN_PREFIX "/share/Cardinal/PluginManifests"; | |||
asset::systemDir = CARDINAL_PLUGIN_PREFIX "/share/Cardinal"; | |||
@@ -60,6 +60,7 @@ FILES_DSP += $(filter-out Rack/src/window/Window.cpp, $(wildcard Rack/src/*/*.cp | |||
# -------------------------------------------------------------- | |||
# Extra libraries to link against | |||
ifneq ($(SYSDEPS),true) | |||
EXTRA_LIBS = ../plugins/plugins.a | |||
EXTRA_LIBS += Rack/dep/lib/libjansson.a | |||
EXTRA_LIBS += Rack/dep/lib/libsamplerate.a | |||
@@ -72,6 +73,7 @@ endif | |||
EXTRA_LIBS += Rack/dep/lib/libzstd.a | |||
EXTRA_DEPENDENCIES = $(EXTRA_LIBS) | |||
endif | |||
# -------------------------------------------------------------- | |||
# Do some magic | |||
@@ -98,7 +100,11 @@ BASE_FLAGS += -I../dpf/dgl/src/nanovg | |||
BASE_FLAGS += -I../include | |||
BASE_FLAGS += -I../include/neon-compat | |||
BASE_FLAGS += -IRack/include | |||
ifeq ($(SYSDEPS),true) | |||
BASE_FLAGS += $(shell pkg-config --cflags jansson libarchive samplerate speexdsp) | |||
else | |||
BASE_FLAGS += -IRack/dep/include | |||
endif | |||
BASE_FLAGS += -IRack/dep/filesystem/include | |||
BASE_FLAGS += -IRack/dep/fuzzysearchdatabase/src | |||
BASE_FLAGS += -IRack/dep/glfw/include | |||
@@ -144,12 +150,16 @@ LINK_FLAGS += -ldbghelp -lshlwapi | |||
EXTRA_LIBS += -lws2_32 -lwinmm | |||
endif | |||
ifeq ($(SYSDEPS),true) | |||
LINK_FLAGS += $(shell pkg-config --libs jansson libarchive samplerate speexdsp) | |||
endif | |||
ifeq ($(WITH_LTO),true) | |||
LINK_FLAGS += -fno-strict-aliasing -flto -Werror=odr -Werror=lto-type-mismatch | |||
endif | |||
# -------------------------------------------------------------- | |||
# temporary macro just to get the ball rolling | |||
# fallback path to resource files | |||
ifeq ($(EXE_WRAPPER),wine) | |||
SOURCE_DIR = Z:$(subst /,\\,$(CURDIR)) | |||
@@ -157,7 +167,10 @@ else | |||
SOURCE_DIR = $(CURDIR) | |||
endif | |||
ifneq ($(SYSDEPS),true) | |||
BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_SOURCE_DIR='"$(SOURCE_DIR)"' | |||
endif | |||
BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"' | |||
# -------------------------------------------------------------- | |||