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 26KB

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