Signed-off-by: falkTX <falktx@falktx.com>tags/23.07
@@ -39,9 +39,149 @@ SYSDEPS ?= false | |||||
endif | endif | ||||
ifeq ($(SYSDEPS),true) | ifeq ($(SYSDEPS),true) | ||||
RACK_DEP_PATH = $(abspath $(ROOT)/dep/sysroot) | |||||
RACK_DEP_PATH = $(abspath $(ROOT)/deps/sysroot) | |||||
else | else | ||||
RACK_DEP_PATH = $(abspath $(ROOT)/src/Rack/dep) | RACK_DEP_PATH = $(abspath $(ROOT)/src/Rack/dep) | ||||
endif | endif | ||||
# ----------------------------------------------------------------------------- | # ----------------------------------------------------------------------------- | ||||
# Custom build flags | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/include) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/include/simd-compat) | |||||
BASE_FLAGS += -I$(RACK_DEP_PATH)/include | |||||
ifeq ($(MOD_BUILD),true) | |||||
BASE_FLAGS += -DSIMDE_ENABLE_OPENMP -fopenmp | |||||
LINK_FLAGS += -fopenmp | |||||
endif | |||||
ifeq ($(NOSIMD),true) | |||||
BASE_FLAGS += -DCARDINAL_NOSIMD | |||||
endif | |||||
ifeq ($(SYSDEPS),true) | |||||
BASE_FLAGS += -DCARDINAL_SYSDEPS | |||||
BASE_FLAGS += $(shell $(PKG_CONFIG) --cflags jansson libarchive samplerate speexdsp) | |||||
else | |||||
BASE_FLAGS += -DZSTDLIB_VISIBILITY= | |||||
endif | |||||
ifeq ($(BSD)$(HAIKU),true) | |||||
BASE_FLAGS += -DCLOCK_MONOTONIC_RAW=CLOCK_MONOTONIC | |||||
endif | |||||
ifeq ($(BSD)$(WASM),true) | |||||
BASE_FLAGS += -D'aligned_alloc_16(ptr)'='aligned_alloc(16,ptr)' | |||||
BASE_FLAGS += -D'aligned_free_16(ptr)'='free(ptr)' | |||||
endif | |||||
ifeq ($(HAIKU)$(WASM),true) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/include/linux-compat) | |||||
else | |||||
BASE_FLAGS += -pthread | |||||
endif | |||||
ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -D_USE_MATH_DEFINES | |||||
BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||||
BASE_FLAGS += -D_WIN32_WINNT=0x0600 | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/include/mingw-compat) | |||||
endif | |||||
BASE_OPTS += -fno-finite-math-only | |||||
BASE_OPTS += -fno-strict-aliasing | |||||
# ----------------------------------------------------------------------------- | |||||
# Rack build flags | |||||
ifeq ($(BUILDING_RACK),true) | |||||
# Rack code is not tested for this flag, unset it | |||||
BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS | |||||
# Ignore bad behaviour from Rack API | |||||
BUILD_CXX_FLAGS += -Wno-format-security | |||||
# Ignore warnings from simde | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -Wno-overflow | |||||
endif | |||||
# lots of warnings from VCV side | |||||
BASE_FLAGS += -Wno-unused-parameter | |||||
BASE_FLAGS += -Wno-unused-variable | |||||
ifeq ($(CPU_ARM_OR_ARM64)$(CPU_RISCV64),true) | |||||
BASE_FLAGS += -Wno-attributes | |||||
endif | |||||
ifeq ($(MACOS),true) | |||||
BASE_FLAGS += -DARCH_MAC | |||||
else ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -DARCH_WIN | |||||
else | |||||
BASE_FLAGS += -DARCH_LIN | |||||
endif | |||||
ifeq ($(DEBUG),true) | |||||
BASE_FLAGS += -UDEBUG | |||||
endif | |||||
ifeq ($(HEADLESS),true) | |||||
BASE_FLAGS += -DHEADLESS | |||||
endif | |||||
ifeq ($(USE_GLES2),true) | |||||
BASE_FLAGS += -DNANOVG_GLES2_FORCED | |||||
else ifeq ($(USE_GLES3),true) | |||||
BASE_FLAGS += -DNANOVG_GLES3_FORCED | |||||
endif | |||||
# needed for enabling SSE in pffft | |||||
ifeq ($(CPU_I386),true) | |||||
BASE_FLAGS += -Di386 | |||||
endif | |||||
# SIMD must always be enabled, even in debug builds | |||||
ifneq ($(NOSIMD),true) | |||||
ifeq ($(DEBUG),true) | |||||
ifeq ($(WASM),true) | |||||
BASE_FLAGS += -msse -msse2 -msse3 -msimd128 | |||||
else ifeq ($(CPU_ARM32),true) | |||||
BASE_FLAGS += -mfpu=neon-vfpv4 -mfloat-abi=hard | |||||
else ifeq ($(CPU_I386_OR_X86_64),true) | |||||
BASE_FLAGS += -msse -msse2 -mfpmath=sse | |||||
endif | |||||
endif | |||||
endif | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/dpf/dgl/src/nanovg) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/dpf/distrho) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/include/simde) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/include) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/include/dsp) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/filesystem/include) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/fuzzysearchdatabase/src) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/glfw/include) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/nanosvg/src) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/oui-blendish) | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/pffft) | |||||
BUILD_C_FLAGS += -std=gnu11 | |||||
ifneq ($(MACOS),true) | |||||
BUILD_CXX_FLAGS += -faligned-new -Wno-abi | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -std=gnu++17 | |||||
endif | |||||
endif | |||||
endif | |||||
# ----------------------------------------------------------------------------- |
@@ -7,43 +7,6 @@ | |||||
ROOT = .. | ROOT = .. | ||||
include $(ROOT)/Makefile.base.mk | include $(ROOT)/Makefile.base.mk | ||||
# -------------------------------------------------------------- | |||||
# custom build flags | |||||
BASE_FLAGS += -I$(abspath ../include) | |||||
BASE_FLAGS += -I$(abspath ../include/simd-compat) | |||||
ifeq ($(NOSIMD),true) | |||||
BASE_FLAGS += -DCARDINAL_NOSIMD | |||||
endif | |||||
ifeq ($(HAIKU)$(WASM),true) | |||||
BASE_FLAGS += -I$(abspath ../include/linux-compat) | |||||
endif | |||||
ifneq ($(SYSDEPS),true) | |||||
BASE_FLAGS += -DZSTDLIB_VISIBILITY= | |||||
endif | |||||
ifneq ($(HAIKU),true) | |||||
ifneq ($(WASM),true) | |||||
BASE_FLAGS += -pthread | |||||
endif | |||||
endif | |||||
ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -D_USE_MATH_DEFINES | |||||
BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||||
BASE_FLAGS += -D_WIN32_WINNT=0x0600 | |||||
BASE_FLAGS += -I$(abspath ../include/mingw-compat) | |||||
endif | |||||
BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing | |||||
BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing | |||||
# Rack code is not tested for this flag, unset it | |||||
BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# override VCV arch.mk stuff so we can build more architectures | # override VCV arch.mk stuff so we can build more architectures | ||||
@@ -4,6 +4,7 @@ | |||||
# Created by falkTX | # Created by falkTX | ||||
# | # | ||||
BUILDING_RACK = true | |||||
ROOT = .. | ROOT = .. | ||||
include $(ROOT)/Makefile.base.mk | include $(ROOT)/Makefile.base.mk | ||||
@@ -1260,134 +1261,22 @@ else | |||||
BUILD_DIR = ../build/plugins | BUILD_DIR = ../build/plugins | ||||
endif | endif | ||||
ifeq ($(MACOS),true) | |||||
BASE_FLAGS += -DARCH_MAC | |||||
else ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -DARCH_WIN | |||||
else | |||||
BASE_FLAGS += -DARCH_LIN | |||||
endif | |||||
BASE_FLAGS += -DBUILDING_PLUGIN_MODULES | BASE_FLAGS += -DBUILDING_PLUGIN_MODULES | ||||
BASE_FLAGS += -I../dpf/dgl/src/nanovg | |||||
BASE_FLAGS += -I../dpf/distrho | |||||
BASE_FLAGS += -I../include | |||||
BASE_FLAGS += -I../include/osdialog-stub | |||||
BASE_FLAGS += -I../include/simd-compat | |||||
BASE_FLAGS += -I../include/simde | |||||
ifeq ($(HAVE_X11),true) | |||||
BASE_FLAGS += -DHAVE_X11 | |||||
endif | |||||
ifeq ($(SYSDEPS),true) | |||||
BASE_FLAGS += -DCARDINAL_SYSDEPS | |||||
BASE_FLAGS += $(shell $(PKG_CONFIG) --cflags jansson libarchive samplerate speexdsp) | |||||
BASE_FLAGS += -I../deps/sysroot/include | |||||
else | |||||
BASE_FLAGS += -DZSTDLIB_VISIBILITY= | |||||
BASE_FLAGS += -I../src/Rack/dep/include | |||||
endif | |||||
BASE_FLAGS += -I../src | |||||
BASE_FLAGS += -I../src/Rack/include | |||||
BASE_FLAGS += -I../src/Rack/include/dsp | |||||
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/oui-blendish | |||||
BASE_FLAGS += -I../src/Rack/dep/pffft | |||||
ifeq ($(DEBUG),true) | |||||
BASE_FLAGS += -UDEBUG | |||||
endif | |||||
ifeq ($(HEADLESS),true) | |||||
BASE_FLAGS += -DHEADLESS | |||||
endif | |||||
# SIMD must always be enabled, even in debug builds | |||||
ifeq ($(NOSIMD),true) | |||||
BASE_FLAGS += -DCARDINAL_NOSIMD | |||||
else ifeq ($(DEBUG),true) | |||||
ifeq ($(WASM),true) | |||||
BASE_FLAGS += -msse -msse2 -msse3 -msimd128 | |||||
else ifeq ($(CPU_ARM32),true) | |||||
BASE_FLAGS += -mfpu=neon-vfpv4 -mfloat-abi=hard | |||||
else ifeq ($(CPU_I386_OR_X86_64),true) | |||||
BASE_FLAGS += -msse -msse2 -mfpmath=sse | |||||
endif | |||||
endif | |||||
ifeq ($(BSD)$(WASM),true) | |||||
BASE_FLAGS += -D'aligned_alloc_16(ptr)'='aligned_alloc(16,ptr)' | |||||
BASE_FLAGS += -D'aligned_free_16(ptr)'='free(ptr)' | |||||
endif | |||||
ifeq ($(MOD_BUILD),true) | |||||
BASE_FLAGS += -DSIMDE_ENABLE_OPENMP -fopenmp | |||||
endif | |||||
ifneq ($(WASM),true) | |||||
ifneq ($(HAIKU),true) | |||||
BASE_FLAGS += -pthread | |||||
endif | |||||
endif | |||||
ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -D_USE_MATH_DEFINES | |||||
BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||||
BASE_FLAGS += -D_WIN32_WINNT=0x0600 | |||||
BASE_FLAGS += -I../include/mingw-compat | |||||
endif | |||||
ifeq ($(USE_GLES2),true) | |||||
BASE_FLAGS += -DNANOVG_GLES2_FORCED | |||||
else ifeq ($(USE_GLES3),true) | |||||
BASE_FLAGS += -DNANOVG_GLES3_FORCED | |||||
endif | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/include/osdialog-stub) | |||||
ifeq ($(shell $(PKG_CONFIG) --exists sndfile && echo true),true) | ifeq ($(shell $(PKG_CONFIG) --exists sndfile && echo true),true) | ||||
BASE_FLAGS += -DHAVE_SNDFILE | BASE_FLAGS += -DHAVE_SNDFILE | ||||
endif | endif | ||||
BUILD_C_FLAGS += -std=gnu11 | |||||
ifneq ($(MACOS),true) | |||||
BUILD_CXX_FLAGS += -faligned-new -Wno-abi | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -std=gnu++17 | |||||
endif | |||||
endif | |||||
# Rack code is not tested for this flag, unset it | |||||
BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS | |||||
# Ignore bad behaviour from Rack API | |||||
BUILD_CXX_FLAGS += -Wno-format-security | |||||
# Ignore warnings from simde | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -Wno-overflow | |||||
ifeq ($(HAVE_X11),true) | |||||
BASE_FLAGS += -DHAVE_X11 | |||||
endif | endif | ||||
# Use this for any plugins that rely on NaN presence | # Use this for any plugins that rely on NaN presence | ||||
NOFINITE_FLAGS = -fno-finite-math-only -fno-strict-aliasing | NOFINITE_FLAGS = -fno-finite-math-only -fno-strict-aliasing | ||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# lots of warnings from VCV side | |||||
BASE_FLAGS += -Wno-unused-parameter | |||||
BASE_FLAGS += -Wno-unused-variable | |||||
ifeq ($(CPU_ARM_OR_ARM64)$(CPU_RISCV64),true) | |||||
BASE_FLAGS += -Wno-attributes | |||||
endif | |||||
# -------------------------------------------------------------- | |||||
# also from plugins | |||||
# lots of warnings from plugins | |||||
BASE_FLAGS += -Wno-deprecated-declarations | BASE_FLAGS += -Wno-deprecated-declarations | ||||
@@ -4,6 +4,7 @@ | |||||
# Created by falkTX | # Created by falkTX | ||||
# | # | ||||
BUILDING_RACK = true | |||||
ROOT = .. | ROOT = .. | ||||
include $(ROOT)/Makefile.base.mk | include $(ROOT)/Makefile.base.mk | ||||
@@ -16,128 +17,17 @@ else | |||||
BUILD_DIR = ../build/rack | BUILD_DIR = ../build/rack | ||||
endif | endif | ||||
ifeq ($(MACOS),true) | |||||
BASE_FLAGS += -DARCH_MAC | |||||
else ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -DARCH_WIN | |||||
else | |||||
BASE_FLAGS += -DARCH_LIN | |||||
endif | |||||
ifeq ($(HAIKU),true) | |||||
BASE_FLAGS += -I../include/linux-compat | |||||
else ifeq ($(WASM),true) | |||||
BASE_FLAGS += -I../include/linux-compat | |||||
endif | |||||
BASE_FLAGS += -DPRIVATE= | BASE_FLAGS += -DPRIVATE= | ||||
BASE_FLAGS += -I../dpf/dgl/src/nanovg | |||||
BASE_FLAGS += -I../dpf/distrho | |||||
BASE_FLAGS += -I../include | |||||
BASE_FLAGS += -I../include/simd-compat | |||||
BASE_FLAGS += -IRack/include | |||||
ifeq ($(SYSDEPS),true) | |||||
BASE_FLAGS += -DCARDINAL_SYSDEPS | |||||
BASE_FLAGS += $(shell pkg-config --cflags jansson libarchive samplerate speexdsp) | |||||
else | |||||
BASE_FLAGS += -DZSTDLIB_VISIBILITY= | |||||
BASE_FLAGS += -IRack/dep/include | |||||
endif | |||||
BASE_FLAGS += -IRack/dep/filesystem/include | |||||
BASE_FLAGS += -IRack/dep/fuzzysearchdatabase/src | |||||
BASE_FLAGS += -IRack/dep/glfw/include | |||||
BASE_FLAGS += -IRack/dep/nanosvg/src | |||||
BASE_FLAGS += -IRack/dep/osdialog | |||||
BASE_FLAGS += -IRack/dep/oui-blendish | |||||
BASE_FLAGS += -IRack/dep/pffft | |||||
ifeq ($(CPU_I386),true) | |||||
# needed for enabling SSE in pffft | |||||
BASE_FLAGS += -Di386 | |||||
endif | |||||
ifeq ($(DEBUG),true) | |||||
BASE_FLAGS += -UDEBUG | |||||
endif | |||||
BASE_FLAGS += -I$(abspath $(ROOT)/src/Rack/dep/osdialog) | |||||
ifeq ($(HAVE_LIBLO),true) | ifeq ($(HAVE_LIBLO),true) | ||||
BASE_FLAGS += -DHAVE_LIBLO $(LIBLO_FLAGS) | BASE_FLAGS += -DHAVE_LIBLO $(LIBLO_FLAGS) | ||||
endif | endif | ||||
ifeq ($(HEADLESS),true) | |||||
BASE_FLAGS += -DHEADLESS | |||||
endif | |||||
# SIMD must always be enabled, even in debug builds | |||||
ifeq ($(NOSIMD),true) | |||||
BASE_FLAGS += -DCARDINAL_NOSIMD | |||||
else ifeq ($(DEBUG),true) | |||||
ifeq ($(WASM),true) | |||||
BASE_FLAGS += -msse -msse2 -msse3 -msimd128 | |||||
else ifeq ($(CPU_ARM32),true) | |||||
BASE_FLAGS += -mfpu=neon-vfpv4 -mfloat-abi=hard | |||||
else ifeq ($(CPU_I386_OR_X86_64),true) | |||||
BASE_FLAGS += -msse -msse2 -mfpmath=sse | |||||
endif | |||||
endif | |||||
ifeq ($(BSD),true) | |||||
BASE_FLAGS += -DCLOCK_MONOTONIC_RAW=CLOCK_MONOTONIC_PRECISE | |||||
endif | |||||
ifeq ($(HAIKU),true) | |||||
BASE_FLAGS += -DCLOCK_MONOTONIC_RAW=CLOCK_MONOTONIC | |||||
endif | |||||
ifeq ($(MOD_BUILD),true) | |||||
BASE_FLAGS += -DSIMDE_ENABLE_OPENMP -fopenmp | |||||
endif | |||||
ifneq ($(WASM),true) | |||||
ifneq ($(HAIKU),true) | |||||
BASE_FLAGS += -pthread | |||||
endif | |||||
endif | |||||
ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -D_USE_MATH_DEFINES | |||||
BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||||
BASE_FLAGS += -D_WIN32_WINNT=0x0600 | |||||
BASE_FLAGS += -I../include/mingw-compat | |||||
endif | |||||
ifeq ($(USE_GLES2),true) | |||||
BASE_FLAGS += -DNANOVG_GLES2_FORCED | |||||
else ifeq ($(USE_GLES3),true) | |||||
BASE_FLAGS += -DNANOVG_GLES3_FORCED | |||||
endif | |||||
BUILD_C_FLAGS += -std=gnu11 | |||||
BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing | |||||
BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing | |||||
ifneq ($(MACOS),true) | |||||
BUILD_CXX_FLAGS += -faligned-new -Wno-abi | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -std=gnu++17 | |||||
endif | |||||
endif | |||||
# use our custom function to invert some colors | # use our custom function to invert some colors | ||||
BUILD_CXX_FLAGS += -DnsvgDelete=nsvgDeleteCardinal | BUILD_CXX_FLAGS += -DnsvgDelete=nsvgDeleteCardinal | ||||
BUILD_CXX_FLAGS += -DnsvgParseFromFile=nsvgParseFromFileCardinal | BUILD_CXX_FLAGS += -DnsvgParseFromFile=nsvgParseFromFileCardinal | ||||
# Rack code is not tested for this flag, unset it | |||||
BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS | |||||
# Ignore bad behaviour from Rack API | |||||
BUILD_CXX_FLAGS += -Wno-format-security | |||||
# Ignore warnings from simde | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -Wno-overflow | |||||
endif | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Rack files to build | # Rack files to build | ||||
@@ -4,6 +4,7 @@ | |||||
# Created by falkTX | # Created by falkTX | ||||
# | # | ||||
BUILDING_RACK = true | |||||
ROOT = ../.. | ROOT = ../.. | ||||
include $(ROOT)/Makefile.base.mk | include $(ROOT)/Makefile.base.mk | ||||
@@ -62,11 +63,7 @@ endif # CARDINAL_VARIANT mini | |||||
PREFIX ?= /usr/local | PREFIX ?= /usr/local | ||||
ifeq ($(SYSDEPS),true) | |||||
DEP_LIB_PATH = $(abspath ../../deps/sysroot/lib) | |||||
else | |||||
DEP_LIB_PATH = $(abspath ../Rack/dep/lib) | |||||
endif | |||||
DEP_LIB_PATH = $(RACK_DEP_PATH)/lib | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Files to build (DPF stuff) | # Files to build (DPF stuff) | ||||
@@ -266,97 +263,15 @@ include ../../dpf/Makefile.plugins.mk | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Extra flags for VCV stuff | # Extra flags for VCV stuff | ||||
ifeq ($(MACOS),true) | |||||
BASE_FLAGS += -DARCH_MAC | |||||
else ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -DARCH_WIN | |||||
else | |||||
BASE_FLAGS += -DARCH_LIN | |||||
endif | |||||
BASE_FLAGS += -DPRIVATE= | BASE_FLAGS += -DPRIVATE= | ||||
BASE_FLAGS += -I.. | |||||
BASE_FLAGS += -I../../dpf/dgl/src/nanovg | |||||
BASE_FLAGS += -I../../include | |||||
BASE_FLAGS += -I../../include/simd-compat | |||||
BASE_FLAGS += -I../Rack/include | |||||
ifeq ($(SYSDEPS),true) | |||||
BASE_FLAGS += -DCARDINAL_SYSDEPS | |||||
BASE_FLAGS += $(shell $(PKG_CONFIG) --cflags jansson libarchive samplerate speexdsp) | |||||
else | |||||
BASE_FLAGS += -DZSTDLIB_VISIBILITY= | |||||
BASE_FLAGS += -I../Rack/dep/include | |||||
endif | |||||
BASE_FLAGS += -I../Rack/dep/glfw/include | |||||
BASE_FLAGS += -I../Rack/dep/nanosvg/src | |||||
BASE_FLAGS += -I../Rack/dep/oui-blendish | |||||
ifeq ($(HEADLESS),true) | |||||
BASE_FLAGS += -DHEADLESS | |||||
endif | |||||
# SIMD must always be enabled, even in debug builds | |||||
ifeq ($(NOSIMD),true) | |||||
BASE_FLAGS += -DCARDINAL_NOSIMD | |||||
else ifeq ($(DEBUG),true) | |||||
ifeq ($(WASM),true) | |||||
BASE_FLAGS += -msse -msse2 -msse3 -msimd128 | |||||
else ifeq ($(CPU_ARM32),true) | |||||
BASE_FLAGS += -mfpu=neon-vfpv4 -mfloat-abi=hard | |||||
else ifeq ($(CPU_I386_OR_X86_64),true) | |||||
BASE_FLAGS += -msse -msse2 -mfpmath=sse | |||||
endif | |||||
endif | |||||
ifeq ($(MOD_BUILD),true) | ifeq ($(MOD_BUILD),true) | ||||
BASE_FLAGS += -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff | BASE_FLAGS += -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff | ||||
BASE_FLAGS += -DDISTRHO_PLUGIN_USES_MODGUI=1 | BASE_FLAGS += -DDISTRHO_PLUGIN_USES_MODGUI=1 | ||||
BASE_FLAGS += -DSIMDE_ENABLE_OPENMP -fopenmp | |||||
LINK_FLAGS += -fopenmp | |||||
else ifeq ($(CARDINAL_VARIANT),mini) | else ifeq ($(CARDINAL_VARIANT),mini) | ||||
BUILD_CXX_FLAGS += -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff | |||||
endif | |||||
ifneq ($(WASM),true) | |||||
ifneq ($(HAIKU),true) | |||||
BASE_FLAGS += -pthread | |||||
endif | |||||
endif | |||||
ifeq ($(WINDOWS),true) | |||||
BASE_FLAGS += -D_USE_MATH_DEFINES | |||||
BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||||
BASE_FLAGS += -D_WIN32_WINNT=0x0600 | |||||
BASE_FLAGS += -I../../include/mingw-compat | |||||
endif | |||||
ifeq ($(USE_GLES2),true) | |||||
BASE_FLAGS += -DNANOVG_GLES2_FORCED | |||||
else ifeq ($(USE_GLES3),true) | |||||
BASE_FLAGS += -DNANOVG_GLES3_FORCED | |||||
endif | |||||
BUILD_C_FLAGS += -std=gnu11 | |||||
ifneq ($(MACOS),true) | |||||
BUILD_CXX_FLAGS += -faligned-new -Wno-abi | |||||
ifeq ($(MOD_BUILD),true) | |||||
BUILD_CXX_FLAGS += -std=gnu++17 | |||||
endif | |||||
BASE_FLAGS += -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff | |||||
endif | endif | ||||
# Rack code is not tested for this flag, unset it | |||||
BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS | |||||
# Ignore bad behaviour from Rack API | |||||
BUILD_CXX_FLAGS += -Wno-format-security | |||||
# -------------------------------------------------------------- | |||||
# FIXME lots of warnings from VCV side | |||||
BASE_FLAGS += -Wno-unused-parameter | |||||
BASE_FLAGS += -Wno-unused-variable | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# extra linker flags | # extra linker flags | ||||
@@ -407,9 +322,13 @@ endif | |||||
LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d)) | LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d)) | ||||
else ifeq ($(HAIKU),true) | else ifeq ($(HAIKU),true) | ||||
LINK_FLAGS += -lpthread | LINK_FLAGS += -lpthread | ||||
else | else | ||||
LINK_FLAGS += -pthread | LINK_FLAGS += -pthread | ||||
endif | endif | ||||
ifneq ($(HAIKU_OR_MACOS_OR_WINDOWS),true) | ifneq ($(HAIKU_OR_MACOS_OR_WINDOWS),true) | ||||
@@ -418,11 +337,9 @@ LINK_FLAGS += -ldl | |||||
endif | endif | ||||
endif | endif | ||||
ifeq ($(BSD),true) | |||||
ifeq ($(DEBUG),true) | |||||
ifeq ($(BSD)$(DEBUG),true) | |||||
LINK_FLAGS += -lexecinfo | LINK_FLAGS += -lexecinfo | ||||
endif | endif | ||||
endif | |||||
ifeq ($(MACOS),true) | ifeq ($(MACOS),true) | ||||
LINK_FLAGS += -framework IOKit | LINK_FLAGS += -framework IOKit | ||||