diff --git a/Makefile b/Makefile index 75d6087..68bc5cf 100644 --- a/Makefile +++ b/Makefile @@ -169,7 +169,7 @@ carla_bridge: carla_lilv carla_discovery: $(MAKE) -C src/carla-lilv $(_arch_n)bit - $(MAKE) -C src/carla-discovery unix$(_arch_n) FLUIDSYNTH=1 + $(MAKE) -C src/carla-discovery unix$(_arch_n) NATIVE=1 carla_lilv: $(MAKE) -C src/carla-lilv diff --git a/src/carla-discovery/Makefile b/src/carla-discovery/Makefile index 5937246..6b92eb4 100644 --- a/src/carla-discovery/Makefile +++ b/src/carla-discovery/Makefile @@ -16,11 +16,22 @@ BUILD_FLAGS += -DVESTIGE_HEADER -I../carla-includes/vestige # Comment this line 64BIT_FLAGS = -m64 LINK_FLAGS = $(shell pkg-config --libs QtCore) $(LDFLAGS) -ifneq ($(FLUIDSYNTH),) +ifneq ($(NATIVE),) +BUILD_FLAGS += -DBUILD_NATIVE +HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) +HAVE_LINUXSAMPLER = $(shell pkg-config --exists linuxsampler && echo true) + +ifeq ($(HAVE_FLUIDSYNTH),true) BUILD_FLAGS += $(shell pkg-config --cflags fluidsynth) -DWANT_FLUIDSYNTH LINK_FLAGS += $(shell pkg-config --libs fluidsynth) endif +ifeq ($(HAVE_LINUXSAMPLER),true) +BUILD_FLAGS += $(shell pkg-config --cflags linuxsampler) -DWANT_LINUXSAMPLER +LINK_FLAGS += $(shell pkg-config --libs linuxsampler) +endif +endif + UNIX_BUILD_FLAGS = $(BUILD_FLAGS) UNIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu UNIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu @@ -54,22 +65,22 @@ wine64: carla-discovery-win64.exe.so 64BIT_OBJS = carla-discovery.cpp ../carla-lilv/carla_lilv_64bit.a carla-discovery-unix32: $(32BIT_OBJS) - $(CXX) $(32BIT_OBJS) $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && strip $@ + $(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && strip $@ carla-discovery-unix64: $(64BIT_OBJS) - $(CXX) $(64BIT_OBJS) $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && strip $@ + $(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && strip $@ carla-discovery-win32.exe: $(32BIT_OBJS) - $(CXX) $(32BIT_OBJS) $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ + $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ carla-discovery-win64.exe: $(64BIT_OBJS) - $(CXX) $(64BIT_OBJS) $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ + $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ carla-discovery-win32.exe.so: $(32BIT_OBJS) - $(WINECXX) $(32BIT_OBJS) $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win32.exe && strip $@ + $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win32.exe carla-discovery-win64.exe.so: $(64BIT_OBJS) - $(WINECXX) $(64BIT_OBJS) $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win64.exe && strip $@ + $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win64.exe # -------------------------------------------------------------- diff --git a/src/carla-discovery/carla-discovery.cpp b/src/carla-discovery/carla-discovery.cpp index 5a46fea..0842e1c 100644 --- a/src/carla-discovery/carla-discovery.cpp +++ b/src/carla-discovery/carla-discovery.cpp @@ -33,12 +33,20 @@ #include "dssi/dssi.h" #include "lv2_rdf.h" -#ifdef WANT_FLUIDSYNTH -#include +#ifdef BUILD_NATIVE +# ifdef WANT_FLUIDSYNTH +# include +# else +# warning fluidsynth not available (no SF2 support) +# endif #endif -#ifdef WANT_LINUXSAMPLER -#include "linuxsampler/EngineFactory.h" +#ifdef BUILD_NATIVE +# ifdef WANT_LINUXSAMPLER +# include "linuxsampler/EngineFactory.h" +# else +# warning linuxsampler not available (no GIG and SFZ support) +# endif #endif #define CARLA_BACKEND_NO_EXPORTS diff --git a/src/carla-discovery/qtcreator/carla-discovery.pro b/src/carla-discovery/qtcreator/carla-discovery.pro index a14cd99..bee331a 100644 --- a/src/carla-discovery/qtcreator/carla-discovery.pro +++ b/src/carla-discovery/qtcreator/carla-discovery.pro @@ -3,7 +3,7 @@ QT = core CONFIG = link_pkgconfig qt warn_on debug -DEFINES = DEBUG WANT_FLUIDSYNTH WANT_LINUXSAMPLER +DEFINES = DEBUG BUILD_NATIVE WANT_FLUIDSYNTH WANT_LINUXSAMPLER PKGCONFIG = fluidsynth linuxsampler TARGET = carla-discovery-qtcreator