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
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
11 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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832
  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_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. NATIVE_LINK_FLAGS += $(shell pkg-config --libs sndfile)
  80. ifeq ($(HAVE_FFMPEG),true)
  81. NATIVE_LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
  82. endif
  83. endif
  84. ifeq ($(HAVE_MF_DEPS),true)
  85. NATIVE_BUILD_FLAGS += -DWANT_MIDIFILE
  86. NATIVE_LINK_FLAGS += $(shell pkg-config --libs smf)
  87. endif
  88. ifeq ($(HAVE_ZYN_DEPS),true)
  89. NATIVE_BUILD_FLAGS += -DWANT_ZYNADDSUBFX
  90. NATIVE_LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
  91. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  92. NATIVE_LINK_FLAGS += -DWANT_ZYNADDSUBFX_UI
  93. NATIVE_LINK_FLAGS += $(shell pkg-config --libs ntk_images ntk)
  94. endif
  95. endif
  96. # --------------------------------------------------------------
  97. TARGETS = native
  98. # --------------------------------------------------------------
  99. # UI bridges
  100. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  101. BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI
  102. LINK_UI_FLAGS = $(LINK_FLAGS)
  103. BUILD_UI_LV2_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2
  104. BUILD_UI_VST_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_VST
  105. ifeq ($(CARLA_VESTIGE_HEADER),true)
  106. BUILD_UI_VST_FLAGS += -DVESTIGE_HEADER
  107. endif
  108. # --------------------------------------------------------------
  109. BUILD_UI_LV2_GTK2_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK2 -DBRIDGE_LV2_GTK2 $(shell pkg-config --cflags gtk+-2.0 QtCore)
  110. LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0 QtCore) -ldl
  111. BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0 QtCore)
  112. LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0 QtCore) -ldl
  113. BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtCore QtGui)
  114. LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtCore QtGui) -ldl
  115. BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
  116. LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) -ldl
  117. BUILD_UI_LV2_COCOA_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_COCOA -DBRIDGE_LV2_COCOA
  118. LINK_UI_LV2_COCOA_FLAGS = $(LINK_UI_FLAGS) -ldl
  119. BUILD_UI_LV2_HWND_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_HWND
  120. LINK_UI_LV2_HWND_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS) -static -mwindows
  121. BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_X11 -DBRIDGE_LV2_X11
  122. LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) -ldl
  123. # --------------------------------------------------------------
  124. BUILD_UI_VST_CARBON_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_CARBON -DBRIDGE_VST_CARBON
  125. LINK_UI_VST_CARBON_FLAGS = $(LINK_UI_FLAGS) -ldl
  126. BUILD_UI_VST_COCOA_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_COCOA -DBRIDGE_VST_COCOA
  127. LINK_UI_VST_COCOA_FLAGS = $(LINK_UI_FLAGS) -ldl
  128. BUILD_UI_VST_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_VST_HWND
  129. LINK_UI_VST_HWND_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS) -static -mwindows
  130. BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_X11 -DBRIDGE_VST_X11
  131. LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) -ldl
  132. # --------------------------------------------------------------
  133. ifeq ($(HAVE_GTK2),true)
  134. TARGETS += ui_lv2-gtk2
  135. endif
  136. ifeq ($(HAVE_GTK3),true)
  137. TARGETS += ui_lv2-gtk3
  138. endif
  139. ifeq ($(HAVE_QT4),true)
  140. TARGETS += ui_lv2-qt4
  141. endif
  142. ifeq ($(HAVE_QT5),true)
  143. TARGETS += ui_lv2-qt5
  144. endif
  145. ifeq ($(HAVE_X11),true)
  146. # TARGETS += ui_lv2-x11
  147. # TARGETS += ui_vst-x11
  148. endif
  149. ifeq ($(MACOS),true)
  150. # TARGETS += ui_lv2-cocoa
  151. # TARGETS += ui_vst-carbon
  152. # TARGETS += ui_vst-cocoa
  153. endif
  154. ifeq ($(WIN32),true)
  155. # TARGETS += ui_lv2-windows
  156. # TARGETS += ui_vst-hwnd
  157. endif
  158. endif # CARLA_PLUGIN_SUPPORT
  159. # --------------------------------------------------------------
  160. all: $(TARGETS)
  161. ui_lv2-gtk2: carla-bridge-lv2-gtk2
  162. ui_lv2-gtk3: carla-bridge-lv2-gtk3
  163. ui_lv2-qt4: carla-bridge-lv2-qt4
  164. ui_lv2-qt5: carla-bridge-lv2-qt5
  165. ui_lv2-cocoa: carla-bridge-lv2-cocoa
  166. ui_lv2-windows: carla-bridge-lv2-windows.exe
  167. ui_lv2-x11: carla-bridge-lv2-x11
  168. ui_vst-carbon: carla-bridge-vst-carbon
  169. ui_vst-cocoa: carla-bridge-vst-cocoa
  170. ui_vst-hwnd: carla-bridge-vst-hwnd.exe
  171. ui_vst-x11: carla-bridge-vst-x11
  172. # --------------------------------------------------------------
  173. jackplugin: jackplugin/libjack.so.0
  174. # --------------------------------------------------------------
  175. native: carla-bridge-native
  176. posix32: carla-bridge-posix32
  177. posix64: carla-bridge-posix64
  178. win32: carla-bridge-win32.exe
  179. win64: carla-bridge-win64.exe
  180. # --------------------------------------------------------------
  181. # UI common
  182. OBJS_UI_LV2_LIBS = \
  183. ../modules/lilv.a
  184. OBJS_UI_VST_LIBS =
  185. %__lv2.o: %.cpp
  186. $(CXX) $< $(BUILD_UI_LV2_FLAGS) -c -o $@
  187. %__vst.o: %.cpp
  188. $(CXX) $< $(BUILD_UI_VST_FLAGS) -c -o $@
  189. resources.qt4.cpp: ../../resources/resources-theme.qrc
  190. $(RCC_QT4) $< -o $@
  191. resources.qt5.cpp: ../../resources/resources-theme.qrc
  192. $(RCC_QT5) $< -o $@
  193. CarlaBridgeToolkitQt4.moc: CarlaBridgeToolkitQt.cpp
  194. $(MOC_QT4) $< -DMOC_PARSING -o $@
  195. CarlaBridgeToolkitQt5.moc: CarlaBridgeToolkitQt.cpp
  196. $(MOC_QT5) $< -DMOC_PARSING -o $@
  197. # --------------------------------------------------------------
  198. # ui_lv2-gtk2
  199. OBJS_UI_LV2_GTK2 = CarlaBridgeUI-LV2__lv2-gtk2.o \
  200. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  201. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk2.o
  202. carla-bridge-lv2-gtk2: $(OBJS_UI_LV2_GTK2) $(OBJS_UI_LV2_LIBS)
  203. $(CXX) $^ $(LINK_UI_LV2_GTK2_FLAGS) -o $@
  204. %__lv2-gtk2.o: %.cpp
  205. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  206. # --------------------------------------------------------------
  207. # ui_lv2-gtk3
  208. OBJS_UI_LV2_GTK3 = CarlaBridgeUI-LV2__lv2-gtk3.o \
  209. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  210. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk3.o
  211. carla-bridge-lv2-gtk3: $(OBJS_UI_LV2_GTK3) $(OBJS_UI_LV2_LIBS)
  212. $(CXX) $^ $(LINK_UI_LV2_GTK3_FLAGS) -o $@
  213. %__lv2-gtk3.o: %.cpp
  214. $(CXX) $< $(BUILD_UI_LV2_GTK3_FLAGS) -c -o $@
  215. # --------------------------------------------------------------
  216. # ui_lv2-qt4
  217. OBJS_UI_LV2_QT4 = CarlaBridgeUI-LV2__lv2-qt4.o \
  218. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  219. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt4.o
  220. carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS) ../modules/theme.qt4.a
  221. $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@
  222. %__lv2-qt4.o: %.cpp CarlaBridgeToolkitQt4.moc resources.qt4.cpp
  223. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -I../modules/theme -c -o $@
  224. # --------------------------------------------------------------
  225. # ui_lv2-qt5
  226. OBJS_UI_LV2_QT5 = CarlaBridgeUI-LV2__lv2-qt5.o \
  227. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  228. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt5.o
  229. carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS) ../modules/theme.qt5.a
  230. $(CXX) $^ $(LINK_UI_LV2_QT5_FLAGS) -o $@
  231. %__lv2-qt5.o: %.cpp CarlaBridgeToolkitQt5.moc resources.qt5.cpp
  232. $(CXX) $< $(BUILD_UI_LV2_QT5_FLAGS) -I../modules/theme -c -o $@
  233. # --------------------------------------------------------------
  234. # ui_lv2-cocoa
  235. # OBJS_UI_LV2_COCOA = CarlaBridgeUI-LV2__lv2-cocoa.o \
  236. # CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  237. # CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-cocoa.o
  238. #
  239. # carla-bridge-lv2-cocoa: $(OBJS_UI_LV2_COCOA) $(OBJS_UI_LV2_LIBS)
  240. # $(CXX) $^ $(LINK_UI_LV2_COCOA_FLAGS) -o $@
  241. #
  242. # %__lv2-cocoa.o: %.cpp
  243. # $(CXX) $< $(BUILD_UI_LV2_COCOA_FLAGS) -c -o $@
  244. # --------------------------------------------------------------
  245. # ui_lv2-windows
  246. # OBJS_UI_LV2_WIN32 = CarlaBridgeUI-LV2__lv2-windows.o \
  247. # CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  248. # CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-windows.o
  249. #
  250. # carla-bridge-lv2-windows.exe: $(OBJS_UI_LV2_WIN32) $(OBJS_UI_LV2_LIBS)
  251. # $(CXX) $^ $(LINK_UI_LV2_WIN32_FLAGS) -o $@
  252. #
  253. # %__lv2-windows.o: %.cpp
  254. # $(CXX) $< $(BUILD_UI_LV2_WIN32_FLAGS) -c -o $@
  255. # --------------------------------------------------------------
  256. # ui_lv2-x11
  257. # OBJS_UI_LV2_X11 = CarlaBridgeUI-LV2__lv2-x11.o \
  258. # CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  259. # CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-x11.o
  260. #
  261. # carla-bridge-lv2-x11: $(OBJS_UI_LV2_X11) $(OBJS_UI_LV2_LIBS)
  262. # $(CXX) $^ $(LINK_UI_LV2_X11_FLAGS) -o $@
  263. #
  264. # %__lv2-x11.o: %.cpp
  265. # $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  266. # --------------------------------------------------------------
  267. # ui_vst-mac
  268. # OBJS_UI_VST_MAC = CarlaBridgeUI-VST__vst-mac.o \
  269. # CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  270. # CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-mac.o
  271. #
  272. # carla-bridge-vst-mac: $(OBJS_UI_VST_MAC) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  273. # $(CXX) $^ $(LINK_UI_VST_MAC_FLAGS) -o $@
  274. #
  275. # %__vst-mac.o: %.cpp
  276. # $(CXX) $< $(BUILD_UI_VST_MAC_FLAGS) -c -o $@
  277. # --------------------------------------------------------------
  278. # ui_vst-hwnd
  279. # OBJS_UI_VST_HWND = CarlaBridgeUI-VST__vst-hwnd.o \
  280. # CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  281. # CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-hwnd.o
  282. #
  283. # carla-bridge-vst-hwnd.exe: $(OBJS_UI_VST_HWND) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  284. # $(CXX) $^ $(LINK_UI_VST_HWND_FLAGS) -o $@
  285. #
  286. # %__vst-hwnd.o: %.cpp
  287. # $(CXX) $< $(BUILD_UI_VST_HWND_FLAGS) -c -o $@
  288. # --------------------------------------------------------------
  289. # ui_vst-x11
  290. # OBJS_UI_VST_X11 = CarlaBridgeUI-VST__vst-x11.o \
  291. # CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  292. # CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-x11.o
  293. #
  294. # carla-bridge-vst-x11: $(OBJS_UI_VST_X11) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  295. # $(CXX) $^ $(LINK_UI_VST_X11_FLAGS) -o $@
  296. #
  297. # %__vst-x11.o: %.cpp
  298. # $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  299. # --------------------------------------------------------------
  300. # native
  301. OBJS_PLUGIN = \
  302. jackplugin/CarlaJackPlugin__plugin.o \
  303. CarlaBridgeClient__plugin.o \
  304. CarlaBridgeOsc__plugin.o \
  305. ../backend/engine/CarlaEngine__native.o \
  306. ../backend/engine/CarlaEngineInternal__native.o \
  307. ../backend/engine/CarlaEngineOsc__native.o \
  308. ../backend/engine/CarlaEngineThread__native.o \
  309. ../backend/engine/CarlaEngineJack__native.o \
  310. ../backend/engine/CarlaEngineBridge__native.o \
  311. ../backend/plugin/CarlaPlugin__native.o \
  312. ../backend/plugin/CarlaPluginInternal__native.o \
  313. ../backend/plugin/CarlaPluginThread__native.o \
  314. ../backend/plugin/CarlaPluginUi__native.o \
  315. ../backend/plugin/NativePlugin__native.o \
  316. ../backend/plugin/LadspaPlugin__native.o \
  317. ../backend/plugin/DssiPlugin__native.o \
  318. ../backend/plugin/Lv2Plugin__native.o \
  319. ../backend/plugin/VstPlugin__native.o \
  320. ../backend/plugin/Vst3Plugin__native.o \
  321. ../backend/plugin/AuPlugin__native.o \
  322. ../backend/plugin/ReWirePlugin__native.o \
  323. ../backend/plugin/CsoundPlugin__native.o \
  324. ../backend/plugin/JucePlugin__native.o \
  325. ../backend/plugin/FluidSynthPlugin__native.o \
  326. ../backend/plugin/LinuxSamplerPlugin__native.o \
  327. ../backend/standalone/CarlaStandalone__native.o
  328. LIBS_PLUGIN = \
  329. ../modules/jackbridge.a \
  330. ../modules/rtmempool.a
  331. ifeq ($(HAVE_JUCE),true)
  332. LIBS_PLUGIN += \
  333. ../modules/juce_audio_basics.a \
  334. ../modules/juce_audio_processors.a \
  335. ../modules/juce_core.a \
  336. ../modules/juce_data_structures.a \
  337. ../modules/juce_events.a \
  338. ../modules/juce_data_structures.a \
  339. ../modules/juce_graphics.a \
  340. ../modules/juce_gui_basics.a
  341. endif
  342. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  343. LIBS_PLUGIN += \
  344. ../modules/lilv.a
  345. endif
  346. jackplugin/libjack.so.0: $(OBJS_PLUGIN) $(LIBS_PLUGIN)
  347. $(CXX) $(OBJS_PLUGIN) -Wl,--start-group $(LIBS_PLUGIN) -Wl,--end-group $(NATIVE_LINK_FLAGS) -shared -o $@
  348. %__plugin.o: %.cpp
  349. $(CXX) $< $(NATIVE_BUILD_FLAGS) -DBRIDGE_JACK -DJACKBRIDGE_EXPORT -c -o $@
  350. # $(NATIVE_LINK_FLAGS)
  351. # --------------------------------------------------------------
  352. # native
  353. OBJS_NATIVE = CarlaBridgePlugin__native.o \
  354. CarlaBridgeClient__native.o CarlaBridgeOsc__native.o
  355. # carla-engine
  356. OBJS_NATIVE += \
  357. ../backend/engine/CarlaEngine__native.o \
  358. ../backend/engine/CarlaEngineInternal__native.o \
  359. ../backend/engine/CarlaEngineOsc__native.o \
  360. ../backend/engine/CarlaEngineThread__native.o \
  361. ../backend/engine/CarlaEngineJack__native.o \
  362. ../backend/engine/CarlaEngineBridge__native.o
  363. # carla-plugin
  364. OBJS_NATIVE += \
  365. ../backend/plugin/CarlaPlugin__native.o \
  366. ../backend/plugin/CarlaPluginInternal__native.o \
  367. ../backend/plugin/CarlaPluginThread__native.o \
  368. ../backend/plugin/CarlaPluginUi__native.o \
  369. ../backend/plugin/NativePlugin__native.o \
  370. ../backend/plugin/LadspaPlugin__native.o \
  371. ../backend/plugin/DssiPlugin__native.o \
  372. ../backend/plugin/Lv2Plugin__native.o \
  373. ../backend/plugin/VstPlugin__native.o \
  374. ../backend/plugin/Vst3Plugin__native.o \
  375. ../backend/plugin/AuPlugin__native.o \
  376. ../backend/plugin/ReWirePlugin__native.o \
  377. ../backend/plugin/CsoundPlugin__native.o \
  378. ../backend/plugin/JucePlugin__native.o \
  379. ../backend/plugin/FluidSynthPlugin__native.o \
  380. ../backend/plugin/LinuxSamplerPlugin__native.o
  381. # carla-standalone
  382. OBJS_NATIVE += \
  383. ../backend/standalone/CarlaStandalone__native.o
  384. # libs
  385. LIBS_NATIVE = \
  386. ../modules/daz-plugins.a \
  387. ../modules/jackbridge.a \
  388. ../modules/rtmempool.a
  389. ifeq ($(HAVE_DGL),true)
  390. LIBS_NATIVE += \
  391. ../modules/dgl.a
  392. endif
  393. ifeq ($(HAVE_JUCE),true)
  394. LIBS_NATIVE += \
  395. ../modules/juce_audio_basics.a \
  396. ../modules/juce_audio_processors.a \
  397. ../modules/juce_core.a \
  398. ../modules/juce_data_structures.a \
  399. ../modules/juce_events.a \
  400. ../modules/juce_data_structures.a \
  401. ../modules/juce_graphics.a \
  402. ../modules/juce_gui_basics.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. # --------------------------------------------------------------