Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 25KB

11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
11 years ago
11 years ago
10 years ago
11 years ago
10 years ago
11 years ago
11 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
10 years ago
11 years ago
11 years ago
10 years ago
11 years ago
11 years ago
10 years ago
10 years ago
11 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841
  1. #!/usr/bin/make -f
  2. # Makefile for carla-bridges #
  3. # -------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. # Common
  9. BUILD_CXX_FLAGS += -DBUILD_BRIDGE
  10. BUILD_CXX_FLAGS += -I. -I../backend -I../includes -I../utils -isystem ../modules
  11. BUILD_CXX_FLAGS += $(LIBLO_FLAGS)
  12. LINK_FLAGS += $(LIBLO_LIBS)
  13. # --------------------------------------------------------------
  14. # Plugin bridges
  15. BUILD_PLUGIN_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_PLUGIN
  16. BUILD_PLUGIN_FLAGS += -I../backend/engine -I../backend/plugin
  17. BUILD_PLUGIN_FLAGS += $(QTCORE_FLAGS) $(QTXML_FLAGS)
  18. LINK_PLUGIN_FLAGS = $(LINK_FLAGS)
  19. LINK_PLUGIN_FLAGS += $(QTCORE_LIBS) $(QTXML_LIBS)
  20. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  21. BUILD_PLUGIN_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST -DWANT_VST3 -DWANT_REWIRE
  22. ifeq ($(MACOS),true)
  23. BUILD_CXX_FLAGS += -DWANT_AU
  24. endif
  25. ifeq ($(CARLA_VESTIGE_HEADER),true)
  26. BUILD_PLUGIN_FLAGS += -DVESTIGE_HEADER
  27. endif
  28. endif
  29. ifeq ($(HAVE_JUCE),true)
  30. LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
  31. LINK_PLUGIN_FLAGS += $(JUCE_CORE_LIBS)
  32. endif
  33. # --------------------------------------------------------------
  34. # Plugin bridges (POSIX)
  35. POSIX_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS)
  36. POSIX_32BIT_FLAGS = $(32BIT_FLAGS)
  37. POSIX_64BIT_FLAGS = $(64BIT_FLAGS)
  38. POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS)
  39. ifneq ($(HAIKU),true)
  40. POSIX_LINK_FLAGS += -ldl -lpthread
  41. endif
  42. ifeq ($(LINUX),true)
  43. POSIX_32BIT_FLAGS += -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  44. POSIX_64BIT_FLAGS += -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  45. endif
  46. # --------------------------------------------------------------
  47. # Plugin bridges (Windows)
  48. WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DJACKBRIDGE_EXPORT
  49. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  50. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  51. WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -L../modules
  52. # --------------------------------------------------------------
  53. # Plugin bridges (Native)
  54. NATIVE_BUILD_FLAGS = $(POSIX_BUILD_FLAGS) -DWANT_NATIVE
  55. NATIVE_LINK_FLAGS = $(POSIX_LINK_FLAGS)
  56. ifeq ($(HAVE_DGL),true)
  57. NATIVE_LINK_FLAGS += $(DGL_LIBS)
  58. endif
  59. ifeq ($(HAVE_JUCE),true)
  60. LINK_PLUGIN_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
  61. LINK_PLUGIN_FLAGS += $(JUCE_EVENTS_LIBS)
  62. LINK_PLUGIN_FLAGS += $(JUCE_GRAPHICS_LIBS)
  63. LINK_PLUGIN_FLAGS += $(JUCE_GUI_BASICS_LIBS)
  64. endif
  65. # ifeq ($(HAVE_CSOUND),true)
  66. # NATIVE_BUILD_FLAGS += -DWANT_CSOUND
  67. # NATIVE_BUILD_FLAGS += $(CSOUND_FLAGS)
  68. # NATIVE_LINK_FLAGS += $(CSOUND_LIBS)
  69. # endif
  70. ifeq ($(HAVE_FLUIDSYNTH),true)
  71. NATIVE_BUILD_FLAGS += -DWANT_FLUIDSYNTH
  72. NATIVE_BUILD_FLAGS += $(FLUIDSYNTH_FLAGS)
  73. NATIVE_LINK_FLAGS += $(FLUIDSYNTH_LIBS)
  74. endif
  75. ifeq ($(HAVE_LINUXSAMPLER),true)
  76. NATIVE_BUILD_FLAGS += -DWANT_LINUXSAMPLER
  77. NATIVE_BUILD_FLAGS += $(LINUXSAMPLER_FLAGS)
  78. NATIVE_LINK_FLAGS += $(LINUXSAMPLER_LIBS)
  79. endif
  80. ifeq ($(HAVE_AF_DEPS),true)
  81. NATIVE_BUILD_FLAGS += -DWANT_AUDIOFILE
  82. endif
  83. ifeq ($(HAVE_MF_DEPS),true)
  84. NATIVE_BUILD_FLAGS += -DWANT_MIDIFILE
  85. endif
  86. ifeq ($(HAVE_ZYN_DEPS),true)
  87. NATIVE_BUILD_FLAGS += -DWANT_ZYNADDSUBFX
  88. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  89. NATIVE_LINK_FLAGS += -DWANT_ZYNADDSUBFX_UI
  90. endif
  91. endif
  92. NATIVE_LINK_FLAGS += $(NATIVE_PLUGINS_LIBS)
  93. # --------------------------------------------------------------
  94. TARGETS = native
  95. # --------------------------------------------------------------
  96. # UI bridges
  97. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  98. BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI
  99. LINK_UI_FLAGS = $(LINK_FLAGS)
  100. BUILD_UI_LV2_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2
  101. BUILD_UI_VST_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_VST
  102. ifeq ($(CARLA_VESTIGE_HEADER),true)
  103. BUILD_UI_VST_FLAGS += -DVESTIGE_HEADER
  104. endif
  105. # --------------------------------------------------------------
  106. BUILD_UI_LV2_GTK2_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK2 -DBRIDGE_LV2_GTK2 $(shell pkg-config --cflags gtk+-2.0) $(QTCORE_FLAGS)
  107. LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0) $(QTCORE_LIBS) -ldl
  108. BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0) $(QTCORE_FLAGS)
  109. LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0) $(QTCORE_LIBS) -ldl
  110. BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtCore QtGui)
  111. LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtCore QtGui) -ldl
  112. BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
  113. LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) -ldl
  114. BUILD_UI_LV2_COCOA_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_COCOA -DBRIDGE_LV2_COCOA
  115. LINK_UI_LV2_COCOA_FLAGS = $(LINK_UI_FLAGS) -ldl
  116. BUILD_UI_LV2_HWND_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_HWND
  117. LINK_UI_LV2_HWND_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS) -static -mwindows
  118. BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_X11 -DBRIDGE_LV2_X11
  119. LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) -ldl
  120. # --------------------------------------------------------------
  121. BUILD_UI_VST_CARBON_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_CARBON -DBRIDGE_VST_CARBON
  122. LINK_UI_VST_CARBON_FLAGS = $(LINK_UI_FLAGS) -ldl
  123. BUILD_UI_VST_COCOA_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_COCOA -DBRIDGE_VST_COCOA
  124. LINK_UI_VST_COCOA_FLAGS = $(LINK_UI_FLAGS) -ldl
  125. BUILD_UI_VST_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_VST_HWND
  126. LINK_UI_VST_HWND_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS) -static -mwindows
  127. BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_X11 -DBRIDGE_VST_X11
  128. LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) -ldl
  129. # --------------------------------------------------------------
  130. ifeq ($(HAVE_GTK2),true)
  131. TARGETS += ui_lv2-gtk2
  132. endif
  133. ifeq ($(HAVE_GTK3),true)
  134. TARGETS += ui_lv2-gtk3
  135. endif
  136. ifeq ($(HAVE_QT4),true)
  137. TARGETS += ui_lv2-qt4
  138. endif
  139. ifeq ($(HAVE_QT5),true)
  140. TARGETS += ui_lv2-qt5
  141. endif
  142. ifeq ($(HAVE_X11),true)
  143. # TARGETS += ui_lv2-x11
  144. # TARGETS += ui_vst-x11
  145. endif
  146. ifeq ($(MACOS),true)
  147. # TARGETS += ui_lv2-cocoa
  148. # TARGETS += ui_vst-carbon
  149. # TARGETS += ui_vst-cocoa
  150. endif
  151. ifeq ($(WIN32),true)
  152. # TARGETS += ui_lv2-windows
  153. # TARGETS += ui_vst-hwnd
  154. endif
  155. endif # CARLA_PLUGIN_SUPPORT
  156. # --------------------------------------------------------------
  157. all: $(TARGETS)
  158. ui_lv2-gtk2: carla-bridge-lv2-gtk2
  159. ui_lv2-gtk3: carla-bridge-lv2-gtk3
  160. ui_lv2-qt4: carla-bridge-lv2-qt4
  161. ui_lv2-qt5: carla-bridge-lv2-qt5
  162. ui_lv2-cocoa: carla-bridge-lv2-cocoa
  163. ui_lv2-windows: carla-bridge-lv2-windows.exe
  164. ui_lv2-x11: carla-bridge-lv2-x11
  165. ui_vst-carbon: carla-bridge-vst-carbon
  166. ui_vst-cocoa: carla-bridge-vst-cocoa
  167. ui_vst-hwnd: carla-bridge-vst-hwnd.exe
  168. ui_vst-x11: carla-bridge-vst-x11
  169. # --------------------------------------------------------------
  170. jackplugin: jackplugin/libjack.so.0
  171. # --------------------------------------------------------------
  172. native: carla-bridge-native
  173. posix32: carla-bridge-posix32
  174. posix64: carla-bridge-posix64
  175. win32: carla-bridge-win32.exe
  176. win64: carla-bridge-win64.exe
  177. # --------------------------------------------------------------
  178. # UI common
  179. OBJS_UI_LV2_LIBS = \
  180. ../modules/lilv.a
  181. OBJS_UI_VST_LIBS =
  182. %__lv2.o: %.cpp
  183. $(CXX) $< $(BUILD_UI_LV2_FLAGS) -c -o $@
  184. %__vst.o: %.cpp
  185. $(CXX) $< $(BUILD_UI_VST_FLAGS) -c -o $@
  186. resources.qt4.cpp: ../../resources/resources-theme.qrc
  187. $(RCC_QT4) $< -o $@
  188. resources.qt5.cpp: ../../resources/resources-theme.qrc
  189. $(RCC_QT5) $< -o $@
  190. CarlaBridgeToolkitQt4.moc: CarlaBridgeToolkitQt.cpp
  191. $(MOC_QT4) $< -DMOC_PARSING -o $@
  192. CarlaBridgeToolkitQt5.moc: CarlaBridgeToolkitQt.cpp
  193. $(MOC_QT5) $< -DMOC_PARSING -o $@
  194. # --------------------------------------------------------------
  195. # ui_lv2-gtk2
  196. OBJS_UI_LV2_GTK2 = CarlaBridgeUI-LV2__lv2-gtk2.o \
  197. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  198. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk2.o
  199. carla-bridge-lv2-gtk2: $(OBJS_UI_LV2_GTK2) $(OBJS_UI_LV2_LIBS)
  200. $(CXX) $^ $(LINK_UI_LV2_GTK2_FLAGS) -o $@
  201. %__lv2-gtk2.o: %.cpp
  202. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  203. # --------------------------------------------------------------
  204. # ui_lv2-gtk3
  205. OBJS_UI_LV2_GTK3 = CarlaBridgeUI-LV2__lv2-gtk3.o \
  206. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  207. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk3.o
  208. carla-bridge-lv2-gtk3: $(OBJS_UI_LV2_GTK3) $(OBJS_UI_LV2_LIBS)
  209. $(CXX) $^ $(LINK_UI_LV2_GTK3_FLAGS) -o $@
  210. %__lv2-gtk3.o: %.cpp
  211. $(CXX) $< $(BUILD_UI_LV2_GTK3_FLAGS) -c -o $@
  212. # --------------------------------------------------------------
  213. # ui_lv2-qt4
  214. OBJS_UI_LV2_QT4 = CarlaBridgeUI-LV2__lv2-qt4.o \
  215. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  216. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt4.o
  217. carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS) ../modules/theme.qt4.a
  218. $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@
  219. %__lv2-qt4.o: %.cpp CarlaBridgeToolkitQt4.moc resources.qt4.cpp
  220. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -I../modules/theme -c -o $@
  221. # --------------------------------------------------------------
  222. # ui_lv2-qt5
  223. OBJS_UI_LV2_QT5 = CarlaBridgeUI-LV2__lv2-qt5.o \
  224. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  225. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt5.o
  226. carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS) ../modules/theme.qt5.a
  227. $(CXX) $^ $(LINK_UI_LV2_QT5_FLAGS) -o $@
  228. %__lv2-qt5.o: %.cpp CarlaBridgeToolkitQt5.moc resources.qt5.cpp
  229. $(CXX) $< $(BUILD_UI_LV2_QT5_FLAGS) -I../modules/theme -c -o $@
  230. # --------------------------------------------------------------
  231. # ui_lv2-cocoa
  232. # OBJS_UI_LV2_COCOA = CarlaBridgeUI-LV2__lv2-cocoa.o \
  233. # CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  234. # CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-cocoa.o
  235. #
  236. # carla-bridge-lv2-cocoa: $(OBJS_UI_LV2_COCOA) $(OBJS_UI_LV2_LIBS)
  237. # $(CXX) $^ $(LINK_UI_LV2_COCOA_FLAGS) -o $@
  238. #
  239. # %__lv2-cocoa.o: %.cpp
  240. # $(CXX) $< $(BUILD_UI_LV2_COCOA_FLAGS) -c -o $@
  241. # --------------------------------------------------------------
  242. # ui_lv2-windows
  243. # OBJS_UI_LV2_WIN32 = CarlaBridgeUI-LV2__lv2-windows.o \
  244. # CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  245. # CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-windows.o
  246. #
  247. # carla-bridge-lv2-windows.exe: $(OBJS_UI_LV2_WIN32) $(OBJS_UI_LV2_LIBS)
  248. # $(CXX) $^ $(LINK_UI_LV2_WIN32_FLAGS) -o $@
  249. #
  250. # %__lv2-windows.o: %.cpp
  251. # $(CXX) $< $(BUILD_UI_LV2_WIN32_FLAGS) -c -o $@
  252. # --------------------------------------------------------------
  253. # ui_lv2-x11
  254. # OBJS_UI_LV2_X11 = CarlaBridgeUI-LV2__lv2-x11.o \
  255. # CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  256. # CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-x11.o
  257. #
  258. # carla-bridge-lv2-x11: $(OBJS_UI_LV2_X11) $(OBJS_UI_LV2_LIBS)
  259. # $(CXX) $^ $(LINK_UI_LV2_X11_FLAGS) -o $@
  260. #
  261. # %__lv2-x11.o: %.cpp
  262. # $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  263. # --------------------------------------------------------------
  264. # ui_vst-mac
  265. # OBJS_UI_VST_MAC = CarlaBridgeUI-VST__vst-mac.o \
  266. # CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  267. # CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-mac.o
  268. #
  269. # carla-bridge-vst-mac: $(OBJS_UI_VST_MAC) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  270. # $(CXX) $^ $(LINK_UI_VST_MAC_FLAGS) -o $@
  271. #
  272. # %__vst-mac.o: %.cpp
  273. # $(CXX) $< $(BUILD_UI_VST_MAC_FLAGS) -c -o $@
  274. # --------------------------------------------------------------
  275. # ui_vst-hwnd
  276. # OBJS_UI_VST_HWND = CarlaBridgeUI-VST__vst-hwnd.o \
  277. # CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  278. # CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-hwnd.o
  279. #
  280. # carla-bridge-vst-hwnd.exe: $(OBJS_UI_VST_HWND) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  281. # $(CXX) $^ $(LINK_UI_VST_HWND_FLAGS) -o $@
  282. #
  283. # %__vst-hwnd.o: %.cpp
  284. # $(CXX) $< $(BUILD_UI_VST_HWND_FLAGS) -c -o $@
  285. # --------------------------------------------------------------
  286. # ui_vst-x11
  287. # OBJS_UI_VST_X11 = CarlaBridgeUI-VST__vst-x11.o \
  288. # CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  289. # CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-x11.o
  290. #
  291. # carla-bridge-vst-x11: $(OBJS_UI_VST_X11) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  292. # $(CXX) $^ $(LINK_UI_VST_X11_FLAGS) -o $@
  293. #
  294. # %__vst-x11.o: %.cpp
  295. # $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  296. # --------------------------------------------------------------
  297. # native
  298. OBJS_PLUGIN = \
  299. jackplugin/CarlaJackPlugin__plugin.o \
  300. CarlaBridgeClient__plugin.o \
  301. CarlaBridgeOsc__plugin.o \
  302. ../backend/engine/CarlaEngine__native.o \
  303. ../backend/engine/CarlaEngineInternal__native.o \
  304. ../backend/engine/CarlaEngineOsc__native.o \
  305. ../backend/engine/CarlaEngineThread__native.o \
  306. ../backend/engine/CarlaEngineJack__native.o \
  307. ../backend/engine/CarlaEngineBridge__native.o \
  308. ../backend/plugin/CarlaPlugin__native.o \
  309. ../backend/plugin/CarlaPluginInternal__native.o \
  310. ../backend/plugin/CarlaPluginThread__native.o \
  311. ../backend/plugin/CarlaPluginUi__native.o \
  312. ../backend/plugin/NativePlugin__native.o \
  313. ../backend/plugin/LadspaPlugin__native.o \
  314. ../backend/plugin/DssiPlugin__native.o \
  315. ../backend/plugin/Lv2Plugin__native.o \
  316. ../backend/plugin/VstPlugin__native.o \
  317. ../backend/plugin/Vst3Plugin__native.o \
  318. ../backend/plugin/AuPlugin__native.o \
  319. ../backend/plugin/ReWirePlugin__native.o \
  320. ../backend/plugin/CsoundPlugin__native.o \
  321. ../backend/plugin/JucePlugin__native.o \
  322. ../backend/plugin/FluidSynthPlugin__native.o \
  323. ../backend/plugin/LinuxSamplerPlugin__native.o \
  324. ../backend/standalone/CarlaStandalone__native.o
  325. LIBS_PLUGIN = \
  326. ../modules/jackbridge.a \
  327. ../modules/rtmempool.a
  328. ifeq ($(HAVE_JUCE),true)
  329. LIBS_PLUGIN += \
  330. ../modules/juce_audio_basics.a \
  331. ../modules/juce_audio_processors.a \
  332. ../modules/juce_core.a \
  333. ../modules/juce_data_structures.a \
  334. ../modules/juce_events.a \
  335. ../modules/juce_data_structures.a \
  336. ../modules/juce_graphics.a \
  337. ../modules/juce_gui_basics.a \
  338. ../modules/juce_gui_extra.a
  339. endif
  340. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  341. LIBS_PLUGIN += \
  342. ../modules/lilv.a
  343. endif
  344. jackplugin/libjack.so.0: $(OBJS_PLUGIN) $(LIBS_PLUGIN)
  345. $(CXX) $(OBJS_PLUGIN) -Wl,--start-group $(LIBS_PLUGIN) -Wl,--end-group $(NATIVE_LINK_FLAGS) -shared -o $@
  346. %__plugin.o: %.cpp
  347. $(CXX) $< $(NATIVE_BUILD_FLAGS) -DBRIDGE_JACK -DJACKBRIDGE_EXPORT -c -o $@
  348. # $(NATIVE_LINK_FLAGS)
  349. # --------------------------------------------------------------
  350. # native
  351. OBJS_NATIVE = CarlaBridgePlugin__native.o \
  352. CarlaBridgeClient__native.o CarlaBridgeOsc__native.o
  353. # carla-engine
  354. OBJS_NATIVE += \
  355. ../backend/engine/CarlaEngine__native.o \
  356. ../backend/engine/CarlaEngineInternal__native.o \
  357. ../backend/engine/CarlaEngineOsc__native.o \
  358. ../backend/engine/CarlaEngineThread__native.o \
  359. ../backend/engine/CarlaEngineJack__native.o \
  360. ../backend/engine/CarlaEngineBridge__native.o
  361. # carla-plugin
  362. OBJS_NATIVE += \
  363. ../backend/plugin/CarlaPlugin__native.o \
  364. ../backend/plugin/CarlaPluginInternal__native.o \
  365. ../backend/plugin/CarlaPluginThread__native.o \
  366. ../backend/plugin/CarlaPluginUi__native.o \
  367. ../backend/plugin/NativePlugin__native.o \
  368. ../backend/plugin/LadspaPlugin__native.o \
  369. ../backend/plugin/DssiPlugin__native.o \
  370. ../backend/plugin/Lv2Plugin__native.o \
  371. ../backend/plugin/VstPlugin__native.o \
  372. ../backend/plugin/Vst3Plugin__native.o \
  373. ../backend/plugin/AuPlugin__native.o \
  374. ../backend/plugin/ReWirePlugin__native.o \
  375. ../backend/plugin/CsoundPlugin__native.o \
  376. ../backend/plugin/JucePlugin__native.o \
  377. ../backend/plugin/FluidSynthPlugin__native.o \
  378. ../backend/plugin/LinuxSamplerPlugin__native.o
  379. # carla-standalone
  380. OBJS_NATIVE += \
  381. ../backend/standalone/CarlaStandalone__native.o
  382. # libs
  383. LIBS_NATIVE = \
  384. ../modules/native-plugins.a \
  385. ../modules/jackbridge.a \
  386. ../modules/rtmempool.a
  387. ifeq ($(HAVE_DGL),true)
  388. LIBS_NATIVE += \
  389. ../modules/dgl.a
  390. endif
  391. ifeq ($(HAVE_JUCE),true)
  392. LIBS_NATIVE += \
  393. ../modules/juce_audio_basics.a \
  394. ../modules/juce_audio_processors.a \
  395. ../modules/juce_core.a \
  396. ../modules/juce_data_structures.a \
  397. ../modules/juce_events.a \
  398. ../modules/juce_data_structures.a \
  399. ../modules/juce_graphics.a \
  400. ../modules/juce_gui_basics.a \
  401. ../modules/juce_gui_extra.a
  402. endif
  403. ifeq ($(HAVE_AF_DEPS),true)
  404. LIBS_NATIVE += \
  405. ../modules/audio_decoder.a
  406. endif
  407. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  408. LIBS_NATIVE += \
  409. ../modules/lilv.a
  410. endif
  411. carla-bridge-native: $(OBJS_NATIVE) $(LIBS_NATIVE)
  412. ifeq ($(MACOS),true)
  413. $(CXX) $(OBJS_NATIVE) $(LIBS_NATIVE) $(NATIVE_LINK_FLAGS) -o $@
  414. else
  415. $(CXX) $(OBJS_NATIVE) -Wl,--start-group $(LIBS_NATIVE) -Wl,--end-group $(NATIVE_LINK_FLAGS) -o $@
  416. endif
  417. %__native.o: %.cpp
  418. $(CXX) $< $(NATIVE_BUILD_FLAGS) -c -o $@
  419. # --------------------------------------------------------------
  420. # posix32
  421. OBJS_POSIX32 = CarlaBridgePlugin__posix32.o \
  422. CarlaBridgeClient__posix32.o CarlaBridgeOsc__posix32.o
  423. # carla-engine
  424. OBJS_POSIX32 += \
  425. ../backend/engine/CarlaEngine__posix32.o \
  426. ../backend/engine/CarlaEngineInternal__posix32.o \
  427. ../backend/engine/CarlaEngineOsc__posix32.o \
  428. ../backend/engine/CarlaEngineThread__posix32.o \
  429. ../backend/engine/CarlaEngineJack__posix32.o \
  430. ../backend/engine/CarlaEngineBridge__posix32.o
  431. # carla-plugin
  432. OBJS_POSIX32 += \
  433. ../backend/plugin/CarlaPlugin__posix32.o \
  434. ../backend/plugin/CarlaPluginInternal__posix32.o \
  435. ../backend/plugin/CarlaPluginThread__posix32.o \
  436. ../backend/plugin/CarlaPluginUi__posix32.o \
  437. ../backend/plugin/NativePlugin__posix32.o \
  438. ../backend/plugin/LadspaPlugin__posix32.o \
  439. ../backend/plugin/DssiPlugin__posix32.o \
  440. ../backend/plugin/Lv2Plugin__posix32.o \
  441. ../backend/plugin/VstPlugin__posix32.o \
  442. ../backend/plugin/Vst3Plugin__posix32.o \
  443. ../backend/plugin/AuPlugin__posix32.o \
  444. ../backend/plugin/ReWirePlugin__posix32.o \
  445. ../backend/plugin/CsoundPlugin__posix32.o \
  446. ../backend/plugin/JucePlugin__posix32.o \
  447. ../backend/plugin/FluidSynthPlugin__posix32.o \
  448. ../backend/plugin/LinuxSamplerPlugin__posix32.o
  449. # carla-standalone
  450. OBJS_POSIX32 += \
  451. ../backend/standalone/CarlaStandalone__posix32.o
  452. # libs
  453. LIBS_POSIX32 = \
  454. ../modules/lilv.posix32.a \
  455. ../modules/rtmempool.posix32.a
  456. ifeq ($(HAVE_JUCE),true)
  457. LIBS_POSIX32 += \
  458. ../modules/juce_audio_basics.posix32.a \
  459. ../modules/juce_audio_processors.posix32.a \
  460. ../modules/juce_core.posix32.a \
  461. ../modules/juce_data_structures.posix32.a \
  462. ../modules/juce_events.posix32.a \
  463. ../modules/juce_graphics.posix32.a \
  464. ../modules/juce_gui_basics.posix32.a
  465. endif
  466. carla-bridge-posix32: $(OBJS_POSIX32) $(LIBS_POSIX32)
  467. $(CXX) $(OBJS_POSIX32) -Wl,--start-group $(LIBS_POSIX32) -Wl,--end-group $(POSIX_LINK_FLAGS) $(POSIX_32BIT_FLAGS) -o $@
  468. %__posix32.o: %.cpp
  469. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) -c -o $@
  470. # --------------------------------------------------------------
  471. # posix64
  472. OBJS_POSIX64 = CarlaBridgePlugin__posix64.o \
  473. CarlaBridgeClient__posix64.o CarlaBridgeOsc__posix64.o
  474. # carla-engine
  475. OBJS_POSIX64 += \
  476. ../backend/engine/CarlaEngine__posix64.o \
  477. ../backend/engine/CarlaEngineInternal__posix64.o \
  478. ../backend/engine/CarlaEngineOsc__posix64.o \
  479. ../backend/engine/CarlaEngineThread__posix64.o \
  480. ../backend/engine/CarlaEngineJack__posix64.o \
  481. ../backend/engine/CarlaEngineBridge__posix64.o
  482. # carla-plugin
  483. OBJS_POSIX64 += \
  484. ../backend/plugin/CarlaPlugin__posix64.o \
  485. ../backend/plugin/CarlaPluginInternal__posix64.o \
  486. ../backend/plugin/CarlaPluginThread__posix64.o \
  487. ../backend/plugin/CarlaPluginUi__posix64.o \
  488. ../backend/plugin/NativePlugin__posix64.o \
  489. ../backend/plugin/LadspaPlugin__posix64.o \
  490. ../backend/plugin/DssiPlugin__posix64.o \
  491. ../backend/plugin/Lv2Plugin__posix64.o \
  492. ../backend/plugin/VstPlugin__posix64.o \
  493. ../backend/plugin/Vst3Plugin__posix64.o \
  494. ../backend/plugin/AuPlugin__posix32.o \
  495. ../backend/plugin/ReWirePlugin__posix64.o \
  496. ../backend/plugin/CsoundPlugin__posix64.o \
  497. ../backend/plugin/JucePlugin__posix64.o \
  498. ../backend/plugin/FluidSynthPlugin__posix64.o \
  499. ../backend/plugin/LinuxSamplerPlugin__posix64.o
  500. # carla-standalone
  501. OBJS_POSIX64 += \
  502. ../backend/standalone/CarlaStandalone__posix64.o
  503. # libs
  504. LIBS_POSIX64 = \
  505. ../modules/lilv.posix64.a \
  506. ../modules/rtmempool.posix64.a
  507. ifeq ($(HAVE_JUCE),true)
  508. LIBS_POSIX64 += \
  509. ../modules/juce_audio_basics.posix64.a \
  510. ../modules/juce_audio_processors.posix64.a \
  511. ../modules/juce_core.posix64.a \
  512. ../modules/juce_data_structures.posix64.a \
  513. ../modules/juce_events.posix64.a \
  514. ../modules/juce_graphics.posix64.a \
  515. ../modules/juce_gui_basics.posix64.a
  516. endif
  517. carla-bridge-posix64: $(OBJS_POSIX64) $(LIBS_POSIX64)
  518. $(CXX) $(OBJS_POSIX64) -Wl,--start-group $(LIBS_POSIX64) -Wl,--end-group $(POSIX_LINK_FLAGS) $(POSIX_64BIT_FLAGS) -o $@
  519. %__posix64.o: %.cpp
  520. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) -c -o $@
  521. # --------------------------------------------------------------
  522. # win32
  523. OBJS_WIN32 = CarlaBridgePlugin__win32.o \
  524. CarlaBridgeClient__win32.o CarlaBridgeOsc__win32.o
  525. # carla-engine
  526. OBJS_WIN32 += \
  527. ../backend/engine/CarlaEngine__win32.o \
  528. ../backend/engine/CarlaEngineInternal__win32.o \
  529. ../backend/engine/CarlaEngineOsc__win32.o \
  530. ../backend/engine/CarlaEngineThread__win32.o \
  531. ../backend/engine/CarlaEngineBridge__win32.o \
  532. ../backend/engine/CarlaEngineJack__win32.o
  533. # carla-plugin
  534. OBJS_WIN32 += \
  535. ../backend/plugin/CarlaPlugin__win32.o \
  536. ../backend/plugin/CarlaPluginInternal__win32.o \
  537. ../backend/plugin/CarlaPluginThread__win32.o \
  538. ../backend/plugin/CarlaPluginUi__win32.o \
  539. ../backend/plugin/NativePlugin__win32.o \
  540. ../backend/plugin/LadspaPlugin__win32.o \
  541. ../backend/plugin/DssiPlugin__win32.o \
  542. ../backend/plugin/Lv2Plugin__win32.o \
  543. ../backend/plugin/VstPlugin__win32.o \
  544. ../backend/plugin/Vst3Plugin__win32.o \
  545. ../backend/plugin/AuPlugin__win32.o \
  546. ../backend/plugin/ReWirePlugin__win32.o \
  547. ../backend/plugin/CsoundPlugin__win32.o \
  548. ../backend/plugin/JucePlugin__win32.o \
  549. ../backend/plugin/FluidSynthPlugin__win32.o \
  550. ../backend/plugin/LinuxSamplerPlugin__win32.o
  551. # carla-standalone
  552. OBJS_WIN32 += \
  553. ../backend/standalone/CarlaStandalone__win32.o
  554. # libs
  555. LIBS_WIN32 = \
  556. ../modules/lilv.win32.a \
  557. ../modules/rtmempool.win32.a
  558. ifeq ($(HAVE_JUCE),true)
  559. LIBS_WIN32 += \
  560. ../modules/juce_audio_basics.win32.a \
  561. ../modules/juce_audio_processors.win32.a \
  562. ../modules/juce_core.win32.a \
  563. ../modules/juce_data_structures.win32.a \
  564. ../modules/juce_events.win32.a \
  565. ../modules/juce_graphics.win32.a \
  566. ../modules/juce_gui_basics.win32.a
  567. endif
  568. carla-bridge-win32.exe: $(OBJS_WIN32) $(LIBS_WIN32) ../modules/jackbridge-win32.dll
  569. $(CXX) $(OBJS_WIN32) -Wl,--start-group $(LIBS_WIN32) -Wl,--end-group $(WIN_LINK_FLAGS) $(WIN_32BIT_FLAGS) -ljackbridge-win32 -o $@
  570. %__win32.o: %.cpp
  571. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) -c -o $@
  572. # --------------------------------------------------------------
  573. # win64
  574. OBJS_WIN64 = CarlaBridgePlugin__win64.o \
  575. CarlaBridgeClient__win64.o CarlaBridgeOsc__win64.o
  576. # carla-engine
  577. OBJS_WIN64 += \
  578. ../backend/engine/CarlaEngine__win64.o \
  579. ../backend/engine/CarlaEngineInternal__win64.o \
  580. ../backend/engine/CarlaEngineOsc__win64.o \
  581. ../backend/engine/CarlaEngineThread__win64.o \
  582. ../backend/engine/CarlaEngineBridge__win64.o \
  583. ../backend/engine/CarlaEngineJack__win64.o
  584. # carla-plugin
  585. OBJS_WIN64 += \
  586. ../backend/plugin/CarlaPlugin__win64.o \
  587. ../backend/plugin/CarlaPluginInternal__win64.o \
  588. ../backend/plugin/CarlaPluginThread__win64.o \
  589. ../backend/plugin/CarlaPluginUi__win64.o \
  590. ../backend/plugin/NativePlugin__win64.o \
  591. ../backend/plugin/LadspaPlugin__win64.o \
  592. ../backend/plugin/DssiPlugin__win64.o \
  593. ../backend/plugin/Lv2Plugin__win64.o \
  594. ../backend/plugin/VstPlugin__win64.o \
  595. ../backend/plugin/Vst3Plugin__win64.o \
  596. ../backend/plugin/AuPlugin__win64.o \
  597. ../backend/plugin/ReWirePlugin__win64.o \
  598. ../backend/plugin/CsoundPlugin__win64.o \
  599. ../backend/plugin/JucePlugin__win64.o \
  600. ../backend/plugin/FluidSynthPlugin__win64.o \
  601. ../backend/plugin/LinuxSamplerPlugin__win64.o
  602. # carla-standalone
  603. OBJS_WIN64 += \
  604. ../backend/standalone/CarlaStandalone__win64.o
  605. # libs
  606. LIBS_WIN64 = \
  607. ../modules/lilv.win64.a \
  608. ../modules/rtmempool.win64.a
  609. ifeq ($(HAVE_JUCE),true)
  610. LIBS_WIN64 += \
  611. ../modules/juce_audio_basics.win64.a \
  612. ../modules/juce_audio_processors.win64.a \
  613. ../modules/juce_core.win64.a \
  614. ../modules/juce_data_structures.win64.a \
  615. ../modules/juce_events.win64.a \
  616. ../modules/juce_graphics.win64.a \
  617. ../modules/juce_gui_basics.win64.a
  618. endif
  619. carla-bridge-win64.exe: $(OBJS_WIN64) $(LIBS_WIN64) ../modules/jackbridge-win64.dll
  620. $(CXX) $(OBJS_WIN64) -Wl,--start-group $(LIBS_WIN64) -Wl,--end-group $(WIN_LINK_FLAGS) $(WIN_64BIT_FLAGS) -ljackbridge-win64 -o $@
  621. %__win64.o: %.cpp
  622. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) -c -o $@
  623. # --------------------------------------------------------------
  624. clean:
  625. rm -f *.moc *.o *.dll *.dylib *.so *.exe
  626. rm -f resources.*.cpp
  627. rm -f carla-bridge-lv2-gtk2 carla-bridge-lv2-gtk3 carla-bridge-lv2-qt4 carla-bridge-lv2-qt5 carla-bridge-lv2-cocoa carla-bridge-lv2-x11
  628. rm -f carla-bridge-vst-carbon carla-bridge-vst-cocoa carla-bridge-vst-x11
  629. rm -f carla-bridge-native carla-bridge-posix32 carla-bridge-posix64
  630. rm -f $(OBJS_NATIVE)
  631. rm -f $(OBJS_POSIX32)
  632. rm -f $(OBJS_POSIX64)
  633. rm -f $(OBJS_WIN32)
  634. rm -f $(OBJS_WIN64)
  635. debug:
  636. $(MAKE) DEBUG=true
  637. doxygen: carla_bridge.doxygen
  638. doxygen $<
  639. # --------------------------------------------------------------
  640. .FORCE:
  641. .PHONY: .FORCE
  642. ../modules/jackbridge-%.dll: .FORCE
  643. $(MAKE) -C ../modules jackbridge-$*e
  644. ../modules/juce_audio_basics.%.a: .FORCE
  645. $(MAKE) -C ../modules juce_audio_basics_$*
  646. ../modules/juce_audio_processors.%.a: .FORCE
  647. $(MAKE) -C ../modules juce_audio_processors_$*
  648. ../modules/juce_core.%.a: .FORCE
  649. $(MAKE) -C ../modules juce_core_$*
  650. ../modules/juce_data_structures.%.a: .FORCE
  651. $(MAKE) -C ../modules juce_data_structures_$*
  652. ../modules/juce_events.%.a: .FORCE
  653. $(MAKE) -C ../modules juce_events_$*
  654. ../modules/juce_graphics.%.a: .FORCE
  655. $(MAKE) -C ../modules juce_graphics_$*
  656. ../modules/juce_gui_basics.%.a: .FORCE
  657. $(MAKE) -C ../modules juce_gui_basics_$*
  658. ../modules/lilv.%.a: .FORCE
  659. $(MAKE) -C ../modules lilv_$*
  660. ../modules/rtmempool.%.a: .FORCE
  661. $(MAKE) -C ../modules rtmempool_$*
  662. ../modules/%.a: .FORCE
  663. $(MAKE) -C ../modules $*
  664. ../modules/%.dll:
  665. $(MAKE) -C ../modules $*
  666. # --------------------------------------------------------------