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