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

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
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
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
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
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
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
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
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
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
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
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649
  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
  26. # -DWANT_DSSI -DWANT_LV2 -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 Qt5Core)
  103. LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0 Qt5Core)
  104. BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0 Qt5Core)
  105. LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0 Qt5Core)
  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/NativePlugin__native.o \
  292. ../backend/plugin/LadspaPlugin__native.o \
  293. ../backend/plugin/DssiPlugin__native.o \
  294. ../backend/plugin/Lv2Plugin__native.o \
  295. ../backend/plugin/VstPlugin__native.o \
  296. ../backend/plugin/AuPlugin__native.o \
  297. ../backend/plugin/CsoundPlugin__native.o \
  298. ../backend/plugin/JucePlugin__native.o \
  299. ../backend/plugin/FluidSynthPlugin__native.o \
  300. ../backend/plugin/LinuxSamplerPlugin__native.o
  301. # carla-standalone
  302. OBJS_NATIVE += \
  303. ../backend/standalone/CarlaStandalone__native.o
  304. # libs
  305. OBJS_NATIVE += \
  306. ../modules/jackbridge.a \
  307. ../modules/rtmempool.a
  308. ifeq ($(HAVE_JUCE),true)
  309. OBJS_NATIVE += \
  310. ../modules/juce_audio_basics.a \
  311. ../modules/juce_core.a \
  312. ../modules/juce_events.a
  313. endif
  314. # ../modules/daz-plugins.a \
  315. # ../modules/juce_data_structures.a \
  316. # ../modules/juce_graphics.a \
  317. # ../modules/juce_gui_basics.a \
  318. # ifeq ($(HAVE_OPENGL),true)
  319. # OBJS_NATIVE += \
  320. # ../modules/dgl.a
  321. # endif
  322. # ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  323. # OBJS_NATIVE += \
  324. # ../modules/lilv.a
  325. # endif
  326. carla-bridge-native: $(FILES) $(OBJS_NATIVE)
  327. $(CXX) $(OBJS_NATIVE) $(NATIVE_LINK_FLAGS) -o $@
  328. %__native.o: %.cpp
  329. $(CXX) $< $(NATIVE_BUILD_FLAGS) -c -o $@
  330. # --------------------------------------------------------------
  331. # posix32
  332. OBJS_POSIX32 = CarlaBridgePlugin__posix32.o \
  333. CarlaBridgeClient__posix32.o CarlaBridgeOsc__posix32.o
  334. # carla-engine
  335. OBJS_POSIX32 += \
  336. ../backend/engine/CarlaEngine__posix32.o \
  337. ../backend/engine/CarlaEngineOsc__posix32.o \
  338. ../backend/engine/CarlaEngineThread__posix32.o \
  339. ../backend/engine/CarlaEngineJack__posix32.o \
  340. ../backend/engine/CarlaEngineBridge__posix32.o
  341. # carla-plugin
  342. OBJS_POSIX32 += \
  343. ../backend/plugin/CarlaPlugin__posix32.o \
  344. ../backend/plugin/CarlaPluginThread__posix32.o \
  345. ../backend/plugin/NativePlugin__posix32.o \
  346. ../backend/plugin/LadspaPlugin__posix32.o \
  347. ../backend/plugin/DssiPlugin__posix32.o \
  348. ../backend/plugin/Lv2Plugin__posix32.o \
  349. ../backend/plugin/VstPlugin__posix32.o \
  350. ../backend/plugin/Vst3Plugin__posix32.o \
  351. ../backend/plugin/FluidSynthPlugin__posix32.o \
  352. ../backend/plugin/LinuxSamplerPlugin__posix32.o
  353. # carla-standalone
  354. OBJS_POSIX32 += \
  355. ../backend/standalone/CarlaStandalone__posix32.o
  356. # libs
  357. OBJS_POSIX32 += \
  358. ../modules/lilv.posix32.a \
  359. ../modules/rtmempool.posix32.a
  360. carla-bridge-posix32: $(FILES) $(OBJS_POSIX32)
  361. $(CXX) $(OBJS_POSIX32) $(POSIX_LINK_FLAGS) $(POSIX_32BIT_FLAGS) -o $@
  362. %__posix32.o: %.cpp
  363. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) -c -o $@
  364. # --------------------------------------------------------------
  365. # posix64
  366. OBJS_POSIX64 = CarlaBridgePlugin__posix64.o \
  367. CarlaBridgeClient__posix64.o CarlaBridgeOsc__posix64.o
  368. # carla-engine
  369. OBJS_POSIX64 += \
  370. ../backend/engine/CarlaEngine__posix64.o \
  371. ../backend/engine/CarlaEngineOsc__posix64.o \
  372. ../backend/engine/CarlaEngineThread__posix64.o \
  373. ../backend/engine/CarlaEngineJack__posix64.o \
  374. ../backend/engine/CarlaEngineBridge__posix64.o
  375. # carla-plugin
  376. OBJS_POSIX64 += \
  377. ../backend/plugin/CarlaPlugin__posix64.o \
  378. ../backend/plugin/CarlaPluginThread__posix64.o \
  379. ../backend/plugin/NativePlugin__posix64.o \
  380. ../backend/plugin/LadspaPlugin__posix64.o \
  381. ../backend/plugin/DssiPlugin__posix64.o \
  382. ../backend/plugin/Lv2Plugin__posix64.o \
  383. ../backend/plugin/VstPlugin__posix64.o \
  384. ../backend/plugin/Vst3Plugin__posix64.o \
  385. ../backend/plugin/FluidSynthPlugin__posix64.o \
  386. ../backend/plugin/LinuxSamplerPlugin__posix64.o
  387. # carla-standalone
  388. OBJS_POSIX64 += \
  389. ../backend/standalone/CarlaStandalone__posix64.o
  390. # libs
  391. OBJS_POSIX64 += \
  392. ../modules/lilv.posix64.a \
  393. ../modules/rtmempool.posix64.a
  394. carla-bridge-posix64: $(FILES) $(OBJS_POSIX64)
  395. $(CXX) $(OBJS_POSIX64) $(POSIX_LINK_FLAGS) $(POSIX_64BIT_FLAGS) -o $@
  396. %__posix64.o: %.cpp
  397. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) -c -o $@
  398. # --------------------------------------------------------------
  399. # win32
  400. OBJS_WIN32 = CarlaBridgePlugin__win32.o \
  401. CarlaBridgeClient__win32.o CarlaBridgeOsc__win32.o
  402. # carla-engine
  403. OBJS_WIN32 += \
  404. ../backend/engine/CarlaEngine__win32.o \
  405. ../backend/engine/CarlaEngineOsc__win32.o \
  406. ../backend/engine/CarlaEngineThread__win32.o \
  407. ../backend/engine/CarlaEngineBridge__win32.o \
  408. ../backend/engine/CarlaEngineJack__win32.o
  409. # carla-plugin
  410. OBJS_WIN32 += \
  411. ../backend/plugin/CarlaPlugin__win32.o \
  412. ../backend/plugin/CarlaPluginThread__win32.o \
  413. ../backend/plugin/NativePlugin__win32.o \
  414. ../backend/plugin/LadspaPlugin__win32.o \
  415. ../backend/plugin/DssiPlugin__win32.o \
  416. ../backend/plugin/Lv2Plugin__win32.o \
  417. ../backend/plugin/VstPlugin__win32.o \
  418. ../backend/plugin/Vst3Plugin__win32.o \
  419. ../backend/plugin/FluidSynthPlugin__win32.o \
  420. ../backend/plugin/LinuxSamplerPlugin__win32.o
  421. # carla-standalone
  422. OBJS_WIN32 += \
  423. ../backend/standalone/CarlaStandalone__win32.o
  424. # libs
  425. OBJS_WIN32 += \
  426. ../modules/juce_core.win32.a \
  427. ../modules/lilv.win32.a \
  428. ../modules/rtmempool.win32.a
  429. carla-bridge-win32.exe: $(FILES) $(OBJS_WIN32) ../modules/jackbridge-win32.dll
  430. $(CXX) $(OBJS_WIN32) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -ljackbridge-win32 -o $@
  431. %__win32.o: %.cpp
  432. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) -c -o $@
  433. # --------------------------------------------------------------
  434. # win64
  435. OBJS_WIN64 = CarlaBridgePlugin__win64.o \
  436. CarlaBridgeClient__win64.o CarlaBridgeOsc__win64.o
  437. # carla-engine
  438. OBJS_WIN64 += \
  439. ../backend/engine/CarlaEngine__win64.o \
  440. ../backend/engine/CarlaEngineOsc__win64.o \
  441. ../backend/engine/CarlaEngineThread__win64.o \
  442. ../backend/engine/CarlaEngineBridge__win64.o \
  443. ../backend/engine/CarlaEngineJack__win64.o
  444. # carla-plugin
  445. OBJS_WIN64 += \
  446. ../backend/plugin/CarlaPlugin__win64.o \
  447. ../backend/plugin/CarlaPluginThread__win64.o \
  448. ../backend/plugin/NativePlugin__win64.o \
  449. ../backend/plugin/LadspaPlugin__win64.o \
  450. ../backend/plugin/DssiPlugin__win64.o \
  451. ../backend/plugin/Lv2Plugin__win64.o \
  452. ../backend/plugin/VstPlugin__win64.o \
  453. ../backend/plugin/Vst3Plugin__win64.o \
  454. ../backend/plugin/FluidSynthPlugin__win64.o \
  455. ../backend/plugin/LinuxSamplerPlugin__win64.o
  456. # carla-standalone
  457. OBJS_WIN64 += \
  458. ../backend/standalone/CarlaStandalone__win64.o
  459. # libs
  460. OBJS_WIN64 += \
  461. ../modules/lilv.win64.a \
  462. ../modules/rtmempool.win64.a
  463. carla-bridge-win64.exe: $(FILES) $(OBJS_WIN64) ../modules/jackbridge-win64.dll
  464. $(CXX) $(OBJS_WIN64) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -ljackbridge-win64 -o $@
  465. %__win64.o: %.cpp
  466. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) -c -o $@
  467. # --------------------------------------------------------------
  468. .FORCE:
  469. .PHONY: .FORCE
  470. ../modules/juce_core.%.a: .FORCE
  471. $(MAKE) -C ../modules juce_core_$*
  472. ../modules/lilv.%.a: .FORCE
  473. $(MAKE) -C ../modules lilv_$*
  474. ../modules/rtmempool.%.a: .FORCE
  475. $(MAKE) -C ../modules rtmempool_$*
  476. ../modules/%.a: .FORCE
  477. $(MAKE) -C ../modules $*
  478. ../modules/%.dll:
  479. $(MAKE) -C ../modules $*
  480. # --------------------------------------------------------------
  481. doxygen: carla_bridge.doxygen
  482. doxygen $<
  483. # --------------------------------------------------------------
  484. clean:
  485. rm -f *.moc *.o *.dll *.dylib *.so *.exe
  486. rm -f resources.cpp resources.qt4.cpp
  487. rm -f $(OBJS_NATIVE)
  488. rm -f $(OBJS_POSIX32)
  489. rm -f $(OBJS_POSIX64)
  490. rm -f $(OBJS_WIN32)
  491. rm -f $(OBJS_WIN64)
  492. 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
  493. rm -f carla-bridge-vst-mac carla-bridge-vst-x11
  494. rm -f carla-bridge-native carla-bridge-posix32 carla-bridge-posix64
  495. # --------------------------------------------------------------
  496. debug:
  497. $(MAKE) DEBUG=true