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.

651 lines
20KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-bridges #
  3. # -------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. # TODO: remove in favour of juce gui stuff
  9. # QT5_UI_FLAGS = $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
  10. # QT5_UI_LIBS = $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets)
  11. # --------------------------------------------------------------
  12. BUILD_CXX_FLAGS += -DBUILD_BRIDGE
  13. BUILD_CXX_FLAGS += -I. -I../backend -I../includes -I../utils -isystem ../modules -isystem ../modules/theme
  14. BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo) $(QTCORE_FLAGS)
  15. LINK_FLAGS += $(shell pkg-config --libs liblo) $(QTCORE_LIBS)
  16. # --------------------------------------------------------------
  17. # Plugin bridges
  18. BUILD_PLUGIN_FLAGS = $(BUILD_CXX_FLAGS) $(QTXML_FLAGS) -DBUILD_BRIDGE_PLUGIN
  19. BUILD_PLUGIN_FLAGS += -I../backend/engine -I../backend/plugin
  20. LINK_PLUGIN_FLAGS = $(LINK_FLAGS) $(QTXML_LIBS)
  21. ifneq ($(HAIKU),true)
  22. LINK_PLUGIN_FLAGS += -lpthread
  23. endif
  24. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  25. BUILD_PLUGIN_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2
  26. # -DWANT_VST
  27. # ifeq ($(CARLA_VESTIGE_HEADER),true)
  28. # BUILD_PLUGIN_FLAGS += -DVESTIGE_HEADER
  29. # endif
  30. endif
  31. LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_BASICS_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. # --------------------------------------------------------------
  38. # Plugin bridges (POSIX)
  39. POSIX_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS)
  40. POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  41. POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  42. POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS)
  43. ifneq ($(HAIKU),true)
  44. POSIX_LINK_FLAGS += -ldl
  45. endif
  46. # --------------------------------------------------------------
  47. # Plugin bridges (Windows)
  48. WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DJACKBRIDGE_EXPORT
  49. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  50. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  51. WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -L../modules
  52. # --------------------------------------------------------------
  53. # Plugin bridges (Native)
  54. NATIVE_BUILD_FLAGS = $(POSIX_BUILD_FLAGS)
  55. # -DWANT_NATIVE
  56. NATIVE_LINK_FLAGS = $(POSIX_LINK_FLAGS)
  57. ifeq ($(HAVE_FLUIDSYNTH),true)
  58. NATIVE_BUILD_FLAGS += -DWANT_FLUIDSYNTH
  59. NATIVE_BUILD_FLAGS += $(FLUIDSYNTH_FLAGS)
  60. NATIVE_LINK_FLAGS += $(FLUIDSYNTH_LIBS)
  61. endif
  62. ifeq ($(HAVE_LINUXSAMPLER),true)
  63. NATIVE_BUILD_FLAGS += -DWANT_LINUXSAMPLER
  64. NATIVE_BUILD_FLAGS += $(LINUXSAMPLER_FLAGS)
  65. NATIVE_LINK_FLAGS += $(LINUXSAMPLER_LIBS)
  66. endif
  67. # ifeq ($(HAVE_AF_DEPS),true)
  68. # NATIVE_BUILD_FLAGS += -DWANT_AUDIOFILE
  69. # NATIVE_LINK_FLAGS += $(shell pkg-config --libs sndfile)
  70. # ifeq ($(HAVE_FFMPEG),true)
  71. # NATIVE_BUILD_FLAGS += -DHAVE_FFMPEG
  72. # NATIVE_LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
  73. # endif
  74. # endif
  75. #
  76. # ifeq ($(HAVE_MF_DEPS),true)
  77. # NATIVE_BUILD_FLAGS += -DWANT_MIDIFILE
  78. # NATIVE_LINK_FLAGS += $(shell pkg-config --libs smf)
  79. # endif
  80. #
  81. # ifeq ($(HAVE_OPENGL),true)
  82. # NATIVE_BUILD_FLAGS += -DWANT_OPENGL
  83. # NATIVE_LINK_FLAGS += $(DGL_LIBS)
  84. # endif
  85. # ifeq ($(HAVE_ZYN_DEPS),true)
  86. # NATIVE_BUILD_FLAGS += -DWANT_ZYNADDSUBFX
  87. # NATIVE_LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
  88. # ifeq ($(HAVE_ZYN_UI_DEPS),true)
  89. # NATIVE_LINK_FLAGS += $(shell pkg-config --libs ntk_images ntk)
  90. # endif
  91. # endif
  92. # --------------------------------------------------------------
  93. # UI bridges
  94. BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI
  95. LINK_UI_FLAGS = $(LINK_FLAGS) -ldl
  96. LINK_UI_FLAGS += $(JUCE_CORE_LIBS)
  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. BUILD_UI_LV2_GTK2_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK2 -DBRIDGE_LV2_GTK2 $(shell pkg-config --cflags gtk+-2.0 QtCore)
  103. LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0 QtCore)
  104. BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0 QtCore)
  105. LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0 QtCore)
  106. BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtCore QtGui)
  107. LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtCore QtGui)
  108. BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
  109. LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets)
  110. BUILD_UI_LV2_COCOA_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_COCOA -DBRIDGE_LV2_COCOA $(QT5_UI_FLAGS)
  111. LINK_UI_LV2_COCOA_FLAGS = $(LINK_UI_FLAGS) $(QT5_UI_LIBS)
  112. BUILD_UI_LV2_WIN32_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_WIN32 $(QT5_UI_FLAGS)
  113. LINK_UI_LV2_WIN32_FLAGS = $(LINK_FLAGS) $(QT5_UI_LIBS) $(EXTRA_LIBS) -mwindows -lwinspool -lole32 -luuid -limm32 -lshell32 -lws2_32 -static
  114. BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_X11 -DBRIDGE_LV2_X11 $(QT5_UI_FLAGS)
  115. LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) $(QT5_UI_LIBS)
  116. BUILD_UI_VST_MAC_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_MAC -DBRIDGE_VST_MAC $(QT5_UI_FLAGS)
  117. LINK_UI_VST_MAC_FLAGS = $(LINK_UI_FLAGS) $(QT5_UI_LIBS)
  118. BUILD_UI_VST_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_VST_HWND $(QT5_UI_FLAGS)
  119. LINK_UI_VST_HWND_FLAGS = $(LINK_FLAGS) $(QT5_UI_LIBS) $(EXTRA_LIBS) -mwindows -lwinspool -lole32 -luuid -limm32 -lshell32 -lws2_32 -static
  120. BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_X11 -DBRIDGE_VST_X11 $(QT5_UI_FLAGS)
  121. LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) $(QT5_UI_LIBS)
  122. # --------------------------------------------------------------
  123. TARGETS = native
  124. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  125. # ifeq ($(HAVE_GTK2),true)
  126. # TARGETS += ui_lv2-gtk2
  127. # endif
  128. # ifeq ($(HAVE_GTK3),true)
  129. # TARGETS += ui_lv2-gtk3
  130. # endif
  131. ifeq ($(HAVE_QT4),true)
  132. TARGETS += ui_lv2-qt4
  133. else
  134. ifeq ($(HAVE_QT5),true)
  135. TARGETS += ui_lv2-qt5
  136. endif
  137. endif
  138. # TARGETS += ui_lv2-x11
  139. # TARGETS += ui_vst-x11
  140. endif
  141. ifeq ($(WIN32),true)
  142. TARGETS = carla-bridge-win32.exe
  143. TARGETS += carla-bridge-win64.exe
  144. TARGETS += carla-bridge-lv2-windows.exe
  145. TARGETS += carla-bridge-vst-hwnd.exe
  146. endif
  147. # --------------------------------------------------------------
  148. all: $(TARGETS)
  149. ui_lv2-gtk2: carla-bridge-lv2-gtk2
  150. ui_lv2-gtk3: carla-bridge-lv2-gtk3
  151. ui_lv2-qt4: carla-bridge-lv2-qt4
  152. ui_lv2-qt5: carla-bridge-lv2-qt5
  153. ui_lv2-cocoa: carla-bridge-lv2-cocoa
  154. ui_lv2-win32: carla-bridge-lv2-windows.exe
  155. ui_lv2-x11: carla-bridge-lv2-x11
  156. ui_vst-mac: carla-bridge-vst-mac
  157. ui_vst-hwnd: carla-bridge-vst-hwnd.exe
  158. ui_vst-x11: carla-bridge-vst-x11
  159. # --------------------------------------------------------------
  160. native: carla-bridge-native
  161. posix32: carla-bridge-posix32
  162. posix64: carla-bridge-posix64
  163. win32: carla-bridge-win32.exe
  164. win64: carla-bridge-win64.exe
  165. # --------------------------------------------------------------
  166. # UI common
  167. OBJS_UI_LV2_LIBS = \
  168. ../modules/lilv.a \
  169. ../modules/juce_core.a
  170. OBJS_UI_VST_LIBS = \
  171. ../modules/juce_core.a
  172. %__lv2.o: %.cpp
  173. $(CXX) $< $(BUILD_UI_LV2_FLAGS) -c -o $@
  174. %__vst.o: %.cpp
  175. $(CXX) $< $(BUILD_UI_VST_FLAGS) -c -o $@
  176. resources.cpp: ../../resources/resources-theme.qrc
  177. $(RCC) $< -o $@
  178. resources.qt4.cpp: ../../resources/resources-theme.qrc
  179. $(RCC_QT4) $< -o $@
  180. CarlaBridgeToolkitQt.moc: CarlaBridgeToolkitQt.cpp
  181. $(MOC) $< -DMOC_PARSING -o $@
  182. CarlaBridgeToolkitQt4.moc: CarlaBridgeToolkitQt.cpp
  183. $(MOC_QT4) $< -DMOC_PARSING -o $@
  184. # --------------------------------------------------------------
  185. # ui_lv2-gtk2
  186. OBJS_UI_LV2_GTK2 = CarlaBridgeUI-LV2__lv2-gtk2.o \
  187. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  188. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk2.o
  189. carla-bridge-lv2-gtk2: $(OBJS_UI_LV2_GTK2) $(OBJS_UI_LV2_LIBS)
  190. $(CXX) $^ $(LINK_UI_LV2_GTK2_FLAGS) -o $@
  191. %__lv2-gtk2.o: %.cpp
  192. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  193. # --------------------------------------------------------------
  194. # ui_lv2-gtk3
  195. OBJS_UI_LV2_GTK3 = CarlaBridgeUI-LV2__lv2-gtk3.o \
  196. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  197. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk3.o
  198. carla-bridge-lv2-gtk3: $(OBJS_UI_LV2_GTK3) $(OBJS_UI_LV2_LIBS)
  199. $(CXX) $^ $(LINK_UI_LV2_GTK3_FLAGS) -o $@
  200. %__lv2-gtk3.o: %.cpp
  201. $(CXX) $< $(BUILD_UI_LV2_GTK3_FLAGS) -c -o $@
  202. # --------------------------------------------------------------
  203. # ui_lv2-qt4
  204. OBJS_UI_LV2_QT4 = CarlaBridgeUI-LV2__lv2-qt4.o \
  205. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  206. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt4.o
  207. carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS) ../modules/theme.qt4.a
  208. $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@
  209. %__lv2-qt4.o: %.cpp CarlaBridgeToolkitQt4.moc resources.qt4.cpp
  210. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -c -o $@
  211. # --------------------------------------------------------------
  212. # ui_lv2-qt5
  213. OBJS_UI_LV2_QT5 = CarlaBridgeUI-LV2__lv2-qt5.o \
  214. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  215. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt5.o
  216. carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS) ../modules/theme.a
  217. $(CXX) $^ $(LINK_UI_LV2_QT5_FLAGS) -o $@
  218. %__lv2-qt5.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  219. $(CXX) $< $(BUILD_UI_LV2_QT5_FLAGS) -c -o $@
  220. # --------------------------------------------------------------
  221. # ui_lv2-cocoa
  222. OBJS_UI_LV2_COCOA = CarlaBridgeUI-LV2__lv2-cocoa.o \
  223. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  224. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-cocoa.o
  225. carla-bridge-lv2-cocoa: $(OBJS_UI_LV2_COCOA) $(OBJS_UI_LV2_LIBS) ../modules/theme.a
  226. $(CXX) $^ $(LINK_UI_LV2_COCOA_FLAGS) -o $@
  227. %__lv2-cocoa.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  228. $(CXX) $< $(BUILD_UI_LV2_COCOA_FLAGS) -c -o $@
  229. # --------------------------------------------------------------
  230. # ui_lv2-windows
  231. OBJS_UI_LV2_WIN32 = CarlaBridgeUI-LV2__lv2-windows.o \
  232. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  233. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-windows.o
  234. carla-bridge-lv2-windows.exe: $(OBJS_UI_LV2_WIN32) $(OBJS_UI_LV2_LIBS) ../modules/theme.a
  235. $(CXX) $^ $(LINK_UI_LV2_WIN32_FLAGS) -o $@
  236. %__lv2-windows.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  237. $(CXX) $< $(BUILD_UI_LV2_WIN32_FLAGS) -c -o $@
  238. # --------------------------------------------------------------
  239. # ui_lv2-x11
  240. OBJS_UI_LV2_X11 = CarlaBridgeUI-LV2__lv2-x11.o \
  241. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  242. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-x11.o
  243. carla-bridge-lv2-x11: $(OBJS_UI_LV2_X11) $(OBJS_UI_LV2_LIBS) ../modules/theme.a
  244. $(CXX) $^ $(LINK_UI_LV2_X11_FLAGS) -o $@
  245. %__lv2-x11.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  246. $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  247. # --------------------------------------------------------------
  248. # ui_vst-mac
  249. OBJS_UI_VST_MAC = CarlaBridgeUI-VST__vst-mac.o \
  250. CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  251. CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-mac.o
  252. carla-bridge-vst-mac: $(OBJS_UI_VST_MAC) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  253. $(CXX) $^ $(LINK_UI_VST_MAC_FLAGS) -o $@
  254. %__vst-mac.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  255. $(CXX) $< $(BUILD_UI_VST_MAC_FLAGS) -c -o $@
  256. # --------------------------------------------------------------
  257. # ui_vst-hwnd
  258. OBJS_UI_VST_HWND = CarlaBridgeUI-VST__vst-hwnd.o \
  259. CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  260. CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-hwnd.o
  261. carla-bridge-vst-hwnd.exe: $(OBJS_UI_VST_HWND) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  262. $(CXX) $^ $(LINK_UI_VST_HWND_FLAGS) -o $@
  263. %__vst-hwnd.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  264. $(CXX) $< $(BUILD_UI_VST_HWND_FLAGS) -c -o $@
  265. # --------------------------------------------------------------
  266. # ui_vst-x11
  267. OBJS_UI_VST_X11 = CarlaBridgeUI-VST__vst-x11.o \
  268. CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  269. CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-x11.o
  270. carla-bridge-vst-x11: $(OBJS_UI_VST_X11) $(OBJS_UI_VST_LIBS) ../modules/theme.a
  271. $(CXX) $^ $(LINK_UI_VST_X11_FLAGS) -o $@
  272. %__vst-x11.o: %.cpp CarlaBridgeToolkitQt.moc resources.cpp
  273. $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  274. # --------------------------------------------------------------
  275. # native
  276. OBJS_NATIVE = CarlaBridgePlugin__native.o \
  277. CarlaBridgeClient__native.o CarlaBridgeOsc__native.o
  278. # carla-engine
  279. OBJS_NATIVE += \
  280. ../backend/engine/CarlaEngine__native.o \
  281. ../backend/engine/CarlaEngineInternal__native.o \
  282. ../backend/engine/CarlaEngineOsc__native.o \
  283. ../backend/engine/CarlaEngineThread__native.o \
  284. ../backend/engine/CarlaEngineJack__native.o \
  285. ../backend/engine/CarlaEngineBridge__native.o
  286. # carla-plugin
  287. OBJS_NATIVE += \
  288. ../backend/plugin/CarlaPlugin__native.o \
  289. ../backend/plugin/CarlaPluginInternal__native.o \
  290. ../backend/plugin/CarlaPluginThread__native.o \
  291. ../backend/plugin/CarlaPluginUi__native.o \
  292. ../backend/plugin/NativePlugin__native.o \
  293. ../backend/plugin/LadspaPlugin__native.o \
  294. ../backend/plugin/DssiPlugin__native.o \
  295. ../backend/plugin/Lv2Plugin__native.o \
  296. ../backend/plugin/VstPlugin__native.o \
  297. ../backend/plugin/AuPlugin__native.o \
  298. ../backend/plugin/CsoundPlugin__native.o \
  299. ../backend/plugin/JucePlugin__native.o \
  300. ../backend/plugin/FluidSynthPlugin__native.o \
  301. ../backend/plugin/LinuxSamplerPlugin__native.o
  302. # carla-standalone
  303. OBJS_NATIVE += \
  304. ../backend/standalone/CarlaStandalone__native.o
  305. # libs
  306. OBJS_NATIVE += \
  307. ../modules/jackbridge.a \
  308. ../modules/rtmempool.a
  309. ifeq ($(HAVE_JUCE),true)
  310. OBJS_NATIVE += \
  311. ../modules/juce_audio_basics.a \
  312. ../modules/juce_core.a \
  313. ../modules/juce_events.a
  314. endif
  315. # ../modules/daz-plugins.a \
  316. # ../modules/juce_data_structures.a \
  317. # ../modules/juce_graphics.a \
  318. # ../modules/juce_gui_basics.a \
  319. # ifeq ($(HAVE_OPENGL),true)
  320. # OBJS_NATIVE += \
  321. # ../modules/dgl.a
  322. # endif
  323. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  324. OBJS_NATIVE += \
  325. ../modules/lilv.a
  326. endif
  327. carla-bridge-native: $(FILES) $(OBJS_NATIVE)
  328. $(CXX) $(OBJS_NATIVE) $(NATIVE_LINK_FLAGS) -o $@
  329. %__native.o: %.cpp
  330. $(CXX) $< $(NATIVE_BUILD_FLAGS) -c -o $@
  331. # --------------------------------------------------------------
  332. # posix32
  333. OBJS_POSIX32 = CarlaBridgePlugin__posix32.o \
  334. CarlaBridgeClient__posix32.o CarlaBridgeOsc__posix32.o
  335. # carla-engine
  336. OBJS_POSIX32 += \
  337. ../backend/engine/CarlaEngine__posix32.o \
  338. ../backend/engine/CarlaEngineOsc__posix32.o \
  339. ../backend/engine/CarlaEngineThread__posix32.o \
  340. ../backend/engine/CarlaEngineJack__posix32.o \
  341. ../backend/engine/CarlaEngineBridge__posix32.o
  342. # carla-plugin
  343. OBJS_POSIX32 += \
  344. ../backend/plugin/CarlaPlugin__posix32.o \
  345. ../backend/plugin/CarlaPluginThread__posix32.o \
  346. ../backend/plugin/NativePlugin__posix32.o \
  347. ../backend/plugin/LadspaPlugin__posix32.o \
  348. ../backend/plugin/DssiPlugin__posix32.o \
  349. ../backend/plugin/Lv2Plugin__posix32.o \
  350. ../backend/plugin/VstPlugin__posix32.o \
  351. ../backend/plugin/Vst3Plugin__posix32.o \
  352. ../backend/plugin/FluidSynthPlugin__posix32.o \
  353. ../backend/plugin/LinuxSamplerPlugin__posix32.o
  354. # carla-standalone
  355. OBJS_POSIX32 += \
  356. ../backend/standalone/CarlaStandalone__posix32.o
  357. # libs
  358. OBJS_POSIX32 += \
  359. ../modules/lilv.posix32.a \
  360. ../modules/rtmempool.posix32.a
  361. carla-bridge-posix32: $(FILES) $(OBJS_POSIX32)
  362. $(CXX) $(OBJS_POSIX32) $(POSIX_LINK_FLAGS) $(POSIX_32BIT_FLAGS) -o $@
  363. %__posix32.o: %.cpp
  364. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) -c -o $@
  365. # --------------------------------------------------------------
  366. # posix64
  367. OBJS_POSIX64 = CarlaBridgePlugin__posix64.o \
  368. CarlaBridgeClient__posix64.o CarlaBridgeOsc__posix64.o
  369. # carla-engine
  370. OBJS_POSIX64 += \
  371. ../backend/engine/CarlaEngine__posix64.o \
  372. ../backend/engine/CarlaEngineOsc__posix64.o \
  373. ../backend/engine/CarlaEngineThread__posix64.o \
  374. ../backend/engine/CarlaEngineJack__posix64.o \
  375. ../backend/engine/CarlaEngineBridge__posix64.o
  376. # carla-plugin
  377. OBJS_POSIX64 += \
  378. ../backend/plugin/CarlaPlugin__posix64.o \
  379. ../backend/plugin/CarlaPluginThread__posix64.o \
  380. ../backend/plugin/NativePlugin__posix64.o \
  381. ../backend/plugin/LadspaPlugin__posix64.o \
  382. ../backend/plugin/DssiPlugin__posix64.o \
  383. ../backend/plugin/Lv2Plugin__posix64.o \
  384. ../backend/plugin/VstPlugin__posix64.o \
  385. ../backend/plugin/Vst3Plugin__posix64.o \
  386. ../backend/plugin/FluidSynthPlugin__posix64.o \
  387. ../backend/plugin/LinuxSamplerPlugin__posix64.o
  388. # carla-standalone
  389. OBJS_POSIX64 += \
  390. ../backend/standalone/CarlaStandalone__posix64.o
  391. # libs
  392. OBJS_POSIX64 += \
  393. ../modules/lilv.posix64.a \
  394. ../modules/rtmempool.posix64.a
  395. carla-bridge-posix64: $(FILES) $(OBJS_POSIX64)
  396. $(CXX) $(OBJS_POSIX64) $(POSIX_LINK_FLAGS) $(POSIX_64BIT_FLAGS) -o $@
  397. %__posix64.o: %.cpp
  398. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) -c -o $@
  399. # --------------------------------------------------------------
  400. # win32
  401. OBJS_WIN32 = CarlaBridgePlugin__win32.o \
  402. CarlaBridgeClient__win32.o CarlaBridgeOsc__win32.o
  403. # carla-engine
  404. OBJS_WIN32 += \
  405. ../backend/engine/CarlaEngine__win32.o \
  406. ../backend/engine/CarlaEngineOsc__win32.o \
  407. ../backend/engine/CarlaEngineThread__win32.o \
  408. ../backend/engine/CarlaEngineBridge__win32.o \
  409. ../backend/engine/CarlaEngineJack__win32.o
  410. # carla-plugin
  411. OBJS_WIN32 += \
  412. ../backend/plugin/CarlaPlugin__win32.o \
  413. ../backend/plugin/CarlaPluginThread__win32.o \
  414. ../backend/plugin/NativePlugin__win32.o \
  415. ../backend/plugin/LadspaPlugin__win32.o \
  416. ../backend/plugin/DssiPlugin__win32.o \
  417. ../backend/plugin/Lv2Plugin__win32.o \
  418. ../backend/plugin/VstPlugin__win32.o \
  419. ../backend/plugin/Vst3Plugin__win32.o \
  420. ../backend/plugin/FluidSynthPlugin__win32.o \
  421. ../backend/plugin/LinuxSamplerPlugin__win32.o
  422. # carla-standalone
  423. OBJS_WIN32 += \
  424. ../backend/standalone/CarlaStandalone__win32.o
  425. # libs
  426. OBJS_WIN32 += \
  427. ../modules/juce_core.win32.a \
  428. ../modules/lilv.win32.a \
  429. ../modules/rtmempool.win32.a
  430. carla-bridge-win32.exe: $(FILES) $(OBJS_WIN32) ../modules/jackbridge-win32.dll
  431. $(CXX) $(OBJS_WIN32) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -ljackbridge-win32 -o $@
  432. %__win32.o: %.cpp
  433. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) -c -o $@
  434. # --------------------------------------------------------------
  435. # win64
  436. OBJS_WIN64 = CarlaBridgePlugin__win64.o \
  437. CarlaBridgeClient__win64.o CarlaBridgeOsc__win64.o
  438. # carla-engine
  439. OBJS_WIN64 += \
  440. ../backend/engine/CarlaEngine__win64.o \
  441. ../backend/engine/CarlaEngineOsc__win64.o \
  442. ../backend/engine/CarlaEngineThread__win64.o \
  443. ../backend/engine/CarlaEngineBridge__win64.o \
  444. ../backend/engine/CarlaEngineJack__win64.o
  445. # carla-plugin
  446. OBJS_WIN64 += \
  447. ../backend/plugin/CarlaPlugin__win64.o \
  448. ../backend/plugin/CarlaPluginThread__win64.o \
  449. ../backend/plugin/NativePlugin__win64.o \
  450. ../backend/plugin/LadspaPlugin__win64.o \
  451. ../backend/plugin/DssiPlugin__win64.o \
  452. ../backend/plugin/Lv2Plugin__win64.o \
  453. ../backend/plugin/VstPlugin__win64.o \
  454. ../backend/plugin/Vst3Plugin__win64.o \
  455. ../backend/plugin/FluidSynthPlugin__win64.o \
  456. ../backend/plugin/LinuxSamplerPlugin__win64.o
  457. # carla-standalone
  458. OBJS_WIN64 += \
  459. ../backend/standalone/CarlaStandalone__win64.o
  460. # libs
  461. OBJS_WIN64 += \
  462. ../modules/lilv.win64.a \
  463. ../modules/rtmempool.win64.a
  464. carla-bridge-win64.exe: $(FILES) $(OBJS_WIN64) ../modules/jackbridge-win64.dll
  465. $(CXX) $(OBJS_WIN64) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -ljackbridge-win64 -o $@
  466. %__win64.o: %.cpp
  467. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) -c -o $@
  468. # --------------------------------------------------------------
  469. .FORCE:
  470. .PHONY: .FORCE
  471. ../modules/juce_core.%.a: .FORCE
  472. $(MAKE) -C ../modules juce_core_$*
  473. ../modules/lilv.%.a: .FORCE
  474. $(MAKE) -C ../modules lilv_$*
  475. ../modules/rtmempool.%.a: .FORCE
  476. $(MAKE) -C ../modules rtmempool_$*
  477. ../modules/%.a: .FORCE
  478. $(MAKE) -C ../modules $*
  479. ../modules/%.dll:
  480. $(MAKE) -C ../modules $*
  481. # --------------------------------------------------------------
  482. doxygen: carla_bridge.doxygen
  483. doxygen $<
  484. # --------------------------------------------------------------
  485. clean:
  486. rm -f *.moc *.o *.dll *.dylib *.so *.exe
  487. rm -f resources.cpp resources.qt4.cpp
  488. rm -f $(OBJS_NATIVE)
  489. rm -f $(OBJS_POSIX32)
  490. rm -f $(OBJS_POSIX64)
  491. rm -f $(OBJS_WIN32)
  492. rm -f $(OBJS_WIN64)
  493. 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
  494. rm -f carla-bridge-vst-mac carla-bridge-vst-x11
  495. rm -f carla-bridge-native carla-bridge-posix32 carla-bridge-posix64
  496. # --------------------------------------------------------------
  497. debug:
  498. $(MAKE) DEBUG=true