|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442 |
- #!/usr/bin/make -f
- # Makefile for carla-bridges #
- # ---------------------------------------- #
- # Created by falkTX
- #
-
- include ../Makefile.mk
-
- # --------------------------------------------------------------
-
- HAVE_GTK2 = $(shell pkg-config --exists gtk+-2.0 && echo true)
- HAVE_GTK3 = $(shell pkg-config --exists gtk+-3.0 && echo true)
-
- # --------------------------------------------------------------
-
- BUILD_CXX_FLAGS += -DBUILD_BRIDGE -pthread
- BUILD_CXX_FLAGS += -I. -I../backend -I../includes -I../utils
- BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo QtCore QtXml)
- LINK_FLAGS += $(shell pkg-config --libs liblo QtCore QtXml) -lpthread
-
- ifeq ($(CARLA_PLUGIN_SUPPORT),true)
- BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI
- #-DWANT_LV2 -DWANT_VST
- endif
-
- ifeq ($(HAVE_QT5),true)
- QT_UI_FLAGS = $(shell pkg-config --cflags QtWidgets)
- QT_UI_LIBS = $(shell pkg-config --libs QtWidgets)
- else
- QT_UI_FLAGS = $(shell pkg-config --cflags QtGui)
- QT_UI_LIBS = $(shell pkg-config --libs QtGui)
- endif
-
- # --------------------------------------------------------------
- # Plugin bridges
-
- BUILD_PLUGIN_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_PLUGIN -DBRIDGE_PLUGIN
- BUILD_PLUGIN_FLAGS += -DWANT_JACK -I../backend/engine -I../backend/plugin -I../libs
- BUILD_PLUGIN_FLAGS += $(shell pkg-config --cflags jack) $(QT_UI_FLAGS)
-
- LINK_PLUGIN_FLAGS = $(LINK_FLAGS)
- LINK_PLUGIN_FLAGS += $(QT_UI_LIBS)
-
- POSIX_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS)
- POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
- POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
- POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs jack) -ldl
-
- WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DJACKBRIDGE_EXPORT -DPTW32_STATIC_LIB
- WIN_32BIT_FLAGS = $(32BIT_FLAGS)
- WIN_64BIT_FLAGS = $(64BIT_FLAGS)
- WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -mwindows -L../carla-jackbridge -lpthread -lwinspool -lole32 -luuid -limm32 -lshell32 -lws2_32
-
- # --------------------------------------------------------------
- # UI bridges
-
- BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI
- LINK_UI_FLAGS = $(LINK_FLAGS) -ldl
-
- BUILD_UI_LV2_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2
- BUILD_UI_VST_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_VST
-
- BUILD_UI_LV2_GTK2_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK2 -DBRIDGE_LV2_GTK2 $(shell pkg-config --cflags gtk+-2.0)
- LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0)
-
- BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0)
- LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0)
-
- BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtGui)
- LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui)
-
- BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags QtWidgets)
- LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtWidgets)
-
- BUILD_UI_LV2_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_HWND $(QT_UI_FLAGS)
- LINK_UI_LV2_HWND_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static
-
- BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_X11 -DBRIDGE_LV2_X11 $(QT_UI_FLAGS)
- LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) $(QT_UI_LIBS)
-
- BUILD_UI_VST_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_VST_HWND $(QT_UI_FLAGS)
- LINK_UI_VST_HWND_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static
-
- BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_X11 -DBRIDGE_VST_X11 $(QT_UI_FLAGS)
- LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) $(QT_UI_LIBS)
-
- # --------------------------------------------------------------
-
- ifeq ($(CARLA_PLUGIN_SUPPORT),true)
- all: native ui_lv2-gtk2 ui_lv2-gtk3 ui_lv2-qt4 ui_lv2-qt5 ui_lv2-x11 ui_vst-x11
-
- ifeq ($(HAVE_GTK2),true)
- ui_lv2-gtk2: carla-bridge-lv2-gtk2
- else
- ui_lv2-gtk2:
- endif
-
- ifeq ($(HAVE_GTK3),true)
- ui_lv2-gtk3: carla-bridge-lv2-gtk3
- else
- ui_lv2-gtk3:
- endif
-
- ifneq ($(HAVE_QT5),true)
- ui_lv2-qt4: carla-bridge-lv2-qt4
- ui_lv2-qt5:
- else
- ui_lv2-qt4:
- ui_lv2-qt5: carla-bridge-lv2-qt5
- endif
-
- ui_lv2-hwnd: carla-bridge-lv2-hwnd.exe
- ui_lv2-x11: carla-bridge-lv2-x11
-
- ui_vst-hwnd: carla-bridge-vst-hwnd.exe
- ui_vst-x11: carla-bridge-vst-x11
-
- else # CARLA_PLUGIN_SUPPORT
- all:
- endif
-
- # --------------------------------------------------------------
-
- native: carla-bridge-native
- posix32: carla-bridge-posix32
- posix64: carla-bridge-posix64
- win32: carla-bridge-win32.exe
- win64: carla-bridge-win64.exe
-
- # --------------------------------------------------------------
- # UI common
-
- %__lv2.o: %.cpp
- $(CXX) $< $(BUILD_UI_LV2_FLAGS) -c -o $@
-
- %__vst.o: %.cpp
- $(CXX) $< $(BUILD_UI_VST_FLAGS) -c -o $@
-
- OBJS_UI_LV2_LIBS = \
- ../libs/lilv.a \
- ../libs/rtmempool.a
-
- # --------------------------------------------------------------
- # ui_lv2-gtk2
-
- OBJS_UI_LV2_GTK2 = CarlaBridgeUI-LV2__lv2-gtk2.o \
- CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
- CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk2.o
-
- carla-bridge-lv2-gtk2: $(OBJS_UI_LV2_GTK2) $(OBJS_UI_LV2_LIBS)
- $(CXX) $^ $(LINK_UI_LV2_GTK2_FLAGS) -o $@ && $(STRIP) $@
-
- %__lv2-gtk2.o: %.cpp
- $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # ui_lv2-gtk3
-
- OBJS_UI_LV2_GTK3 = CarlaBridgeUI-LV2__lv2-gtk3.o \
- CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
- CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk3.o
-
- carla-bridge-lv2-gtk3: $(OBJS_UI_LV2_GTK3) $(OBJS_UI_LV2_LIBS)
- $(CXX) $^ $(LINK_UI_LV2_GTK3_FLAGS) -o $@ && $(STRIP) $@
-
- %__lv2-gtk3.o: %.cpp
- $(CXX) $< $(BUILD_UI_LV2_GTK3_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # ui_lv2-qt4
-
- OBJS_UI_LV2_QT4 = CarlaBridgeUI-LV2__lv2-qt4.o \
- CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
- CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt4.o
-
- carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS)
- $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@ && $(STRIP) $@
-
- %__lv2-qt4.o: %.cpp
- $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # ui_lv2-qt5
-
- OBJS_UI_LV2_QT5 = CarlaBridgeUI-LV2__lv2-qt5.o \
- CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
- CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt5.o
-
- carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS)
- $(CXX) $^ $(LINK_UI_LV2_QT5_FLAGS) -o $@ && $(STRIP) $@
-
- %__lv2-qt5.o: %.cpp
- $(CXX) $< $(BUILD_UI_LV2_QT5_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # ui_lv2-x11
-
- OBJS_UI_LV2_X11 = CarlaBridgeUI-LV2__lv2-x11.o \
- CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
- CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-x11.o
-
- carla-bridge-lv2-x11: $(OBJS_UI_LV2_X11) $(OBJS_UI_LV2_LIBS)
- $(CXX) $^ $(LINK_UI_LV2_X11_FLAGS) -o $@ && $(STRIP) $@
-
- %__lv2-x11.o: %.cpp
- $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # ui_vst-hwnd
-
- OBJS_UI_VST_HWND = CarlaBridgeUI-VST__vst-hwnd.o \
- CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
- CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-hwnd.o
-
- carla-bridge-vst-hwnd.exe: $(OBJS_UI_VST_HWND)
- $(CXX) $^ $(LINK_UI_VST_HWND_FLAGS) -o $@ && $(STRIP) $@
-
- %__vst-hwnd.o: %.cpp
- $(CXX) $< $(BUILD_UI_VST_HWND_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # ui_vst-x11
-
- OBJS_UI_VST_X11 = CarlaBridgeUI-VST__vst-x11.o \
- CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
- CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-x11.o
-
- carla-bridge-vst-x11: $(OBJS_UI_VST_X11)
- $(CXX) $^ $(LINK_UI_VST_X11_FLAGS) -o $@ && $(STRIP) $@
-
- %__vst-x11.o: %.cpp
- $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # native
-
- NATIVE_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS)
- NATIVE_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs jack) -ldl
-
- ifeq ($(HAVE_SUIL),true)
- NATIVE_BUILD_FLAGS += $(shell pkg-config --cflags suil-0) -DWANT_SUIL
- NATIVE_LINK_FLAGS += $(shell pkg-config --libs suil-0)
- endif
-
- OBJS_NATIVE = CarlaBridgePlugin__native.o \
- CarlaBridgeClient__native.o CarlaBridgeOsc__native.o
-
- # carla-engine
- OBJS_NATIVE += \
- ../backend/engine/CarlaEngine__native.o \
- ../backend/engine/CarlaEngineOsc__native.o \
- ../backend/engine/CarlaEngineThread__native.o \
- ../backend/engine/CarlaEngineJack__native.o
-
- # carla-plugin
- OBJS_NATIVE += \
- ../backend/plugin/CarlaPlugin__native.o \
- ../backend/plugin/CarlaPluginThread__native.o \
- ../backend/plugin/NativePlugin__native.o \
- ../backend/plugin/LadspaPlugin__native.o \
- ../backend/plugin/DssiPlugin__native.o \
- ../backend/plugin/Lv2Plugin__native.o \
- ../backend/plugin/VstPlugin__native.o \
- ../backend/plugin/FluidSynthPlugin__native.o \
- ../backend/plugin/LinuxSamplerPlugin__native.o
-
- # carla-standalone
- OBJS_NATIVE += \
- ../backend/standalone/CarlaStandalone__native.o
-
- # libs
- OBJS_NATIVE += \
- ../libs/lilv.a \
- ../libs/rtmempool.a
-
- carla-bridge-native: $(OBJS_NATIVE)
- $(CXX) $^ $(NATIVE_LINK_FLAGS) -o $@ && $(STRIP) $@
-
- %__native.o: %.cpp
- $(CXX) $< $(NATIVE_BUILD_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # posix32
-
- OBJS_POSIX32 = carla_bridge_plugin__posix32.o \
- carla_bridge_client__posix32.o carla_bridge_osc__posix32.o
-
- # carla-engine
- OBJS_POSIX32 += \
- ../carla-engine/carla_engine__posix32.o \
- ../carla-engine/carla_engine_osc__posix32.o \
- ../carla-engine/carla_engine_thread__posix32.o \
- ../carla-engine/jack__posix32.o
-
- # carla-plugin
- OBJS_POSIX32 += \
- ../carla-plugin/carla_plugin__posix32.o \
- ../carla-plugin/carla_plugin_thread__posix32.o \
- ../carla-plugin/ladspa__posix32.o \
- ../carla-plugin/dssi__posix32.o \
- ../carla-plugin/lv2__posix32.o \
- ../carla-plugin/vst__posix32.o
-
- # libs
- OBJS_POSIX32 += \
- ../carla-lilv/carla_lilv_posix32.a \
- ../carla-rtmempool/carla_rtmempool_posix32.a
-
- carla-bridge-posix32: $(OBJS_POSIX32)
- $(CXX) $^ $(POSIX_LINK_FLAGS) $(POSIX_32BIT_FLAGS) -o $@ && $(STRIP) $@
-
- %__posix32.o: %.cpp
- $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # posix64
-
- OBJS_POSIX64 = carla_bridge_plugin__posix64.o \
- carla_bridge_client__posix64.o carla_bridge_osc__posix64.o
-
- # carla
- OBJS_POSIX64 += \
- ../carla/Shared__posix64.o
-
- # carla-engine
- OBJS_POSIX64 += \
- ../carla-engine/carla_engine__posix64.o \
- ../carla-engine/carla_engine_osc__posix64.o \
- ../carla-engine/carla_engine_thread__posix64.o \
- ../carla-engine/jack__posix64.o
-
- # carla-plugin
- OBJS_POSIX64 += \
- ../carla-plugin/carla_plugin__posix64.o \
- ../carla-plugin/carla_plugin_thread__posix64.o \
- ../carla-plugin/ladspa__posix64.o \
- ../carla-plugin/dssi__posix64.o \
- ../carla-plugin/lv2__posix64.o \
- ../carla-plugin/vst__posix64.o
-
- # libs
- OBJS_POSIX64 += \
- ../carla-lilv/carla_lilv_posix64.a \
- ../carla-rtmempool/carla_rtmempool_posix64.a
-
- carla-bridge-posix64: $(OBJS_POSIX64)
- $(CXX) $^ $(POSIX_LINK_FLAGS) $(POSIX_64BIT_FLAGS) -o $@ && $(STRIP) $@
-
- %__posix64.o: %.cpp
- $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # win32
-
- OBJS_WIN32 = carla_bridge_plugin__win32.o \
- carla_bridge_client__win32.o carla_bridge_osc__win32.o
-
- # carla-engine
- OBJS_WIN32 += \
- ../carla-engine/carla_engine__win32.o \
- ../carla-engine/carla_engine_osc__win32.o \
- ../carla-engine/carla_engine_thread__win32.o \
- ../carla-engine/jack__win32.o
-
- # carla-plugin
- OBJS_WIN32 += \
- ../carla-plugin/carla_plugin__win32.o \
- ../carla-plugin/carla_plugin_thread__win32.o \
- ../carla-plugin/ladspa__win32.o \
- ../carla-plugin/dssi__win32.o \
- ../carla-plugin/lv2__win32.o \
- ../carla-plugin/vst__win32.o
-
- # libs
- OBJS_WIN32 += \
- ../carla-lilv/carla_lilv_win32.a \
- ../carla-rtmempool/carla_rtmempool_win32.a
-
- carla-bridge-win32.exe: $(OBJS_WIN32) ../carla-jackbridge/libcarla-jackbridge-win32.dll
- $(CXX) $(OBJS_WIN32) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -lcarla-jackbridge-win32 -o $@ && $(STRIP) $@
-
- %__win32.o: %.cpp
- $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
- # win64
-
- OBJS_WIN64 = carla_bridge_plugin__win64.o \
- carla_bridge_client__win64.o carla_bridge_osc__win64.o
-
- # carla-engine
- OBJS_WIN64 += \
- ../carla-engine/carla_engine__win64.o \
- ../carla-engine/carla_engine_osc__win64.o \
- ../carla-engine/carla_engine_thread__win64.o \
- ../carla-engine/jack__win64.o
-
- # carla-plugin
- OBJS_WIN64 += \
- ../carla-plugin/carla_plugin__win64.o \
- ../carla-plugin/carla_plugin_thread__win64.o \
- ../carla-plugin/ladspa__win64.o \
- ../carla-plugin/dssi__win64.o \
- ../carla-plugin/lv2__win64.o \
- ../carla-plugin/vst__win64.o
-
- # libs
- OBJS_WIN64 += \
- ../carla-lilv/carla_lilv_win64.a \
- ../carla-rtmempool/carla_rtmempool_win64.a
-
- carla-bridge-win64.exe: $(OBJS_WIN64) ../carla-jackbridge/libcarla-jackbridge-win64.dll
- $(CXX) $(OBJS_WIN64) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -lcarla-jackbridge-win64 -o $@ && $(STRIP) $@
-
- %__win64.o: %.cpp
- $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) -c -o $@
-
- # --------------------------------------------------------------
-
- ../libs/%:
- $(MAKE) -C ../libs $*
-
- ../carla-jackbridge/libcarla-jackbridge-win32.dll:
- $(MAKE) -C ../carla-jackbridge win32
-
- ../carla-jackbridge/libcarla-jackbridge-win64.dll:
- $(MAKE) -C ../carla-jackbridge win64
-
- # --------------------------------------------------------------
-
- doxygen: carla_bridge.doxygen
- doxygen $<
-
- clean:
- rm -f *.o *.dll *.so *.exe
- rm -f $(OBJS_NATIVE)
- rm -f $(OBJS_POSIX32)
- rm -f $(OBJS_POSIX64)
- rm -f $(OBJS_WIN32)
- rm -f $(OBJS_WIN64)
- rm -f carla-bridge-lv2-gtk2 carla-bridge-lv2-gtk3 carla-bridge-lv2-qt4 carla-bridge-lv2-qt5 carla-bridge-lv2-x11 carla-bridge-vst-x11
- rm -f carla-bridge-native carla-bridge-posix32 carla-bridge-posix64
|