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

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
11 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571
  1. #!/usr/bin/make -f
  2. # Makefile for carla-bridges #
  3. # -------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. HAVE_GTK2 = $(shell pkg-config --exists gtk+-2.0 && echo true)
  9. HAVE_GTK3 = $(shell pkg-config --exists gtk+-3.0 && echo true)
  10. ifeq ($(HAVE_QT5),true)
  11. QT_UI_FLAGS = $(shell pkg-config --cflags Qt5Gui Qt5Widgets)
  12. QT_UI_LIBS = $(shell pkg-config --libs Qt5Gui Qt5Widgets)
  13. else
  14. QT_UI_FLAGS = $(shell pkg-config --cflags QtGui)
  15. QT_UI_LIBS = $(shell pkg-config --libs QtGui)
  16. endif
  17. # --------------------------------------------------------------
  18. BUILD_CXX_FLAGS += -DBUILD_BRIDGE
  19. BUILD_CXX_FLAGS += -I. -I../backend -I../includes -I../utils
  20. BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo)
  21. LINK_FLAGS += $(shell pkg-config --libs liblo)
  22. ifeq ($(HAVE_QT5),true)
  23. BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core)
  24. LINK_FLAGS += $(shell pkg-config --libs Qt5Core)
  25. else
  26. BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore)
  27. LINK_FLAGS += $(shell pkg-config --libs QtCore)
  28. endif
  29. # --------------------------------------------------------------
  30. # Plugin bridges
  31. BUILD_PLUGIN_FLAGS = $(BUILD_CXX_FLAGS)
  32. BUILD_PLUGIN_FLAGS += -DBUILD_BRIDGE_PLUGIN -DBRIDGE_PLUGIN
  33. BUILD_PLUGIN_FLAGS += -I../backend/engine -I../backend/plugin -I../libs -I../theme
  34. LINK_PLUGIN_FLAGS = $(LINK_FLAGS) -lpthread
  35. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  36. BUILD_PLUGIN_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST
  37. endif
  38. ifeq ($(HAVE_QT5),true)
  39. BUILD_PLUGIN_FLAGS += $(shell pkg-config --cflags Qt5Gui Qt5Widgets Qt5Xml)
  40. LINK_PLUGIN_FLAGS += $(shell pkg-config --libs Qt5Gui Qt5Widgets Qt5Xml)
  41. else
  42. BUILD_PLUGIN_FLAGS += $(shell pkg-config --cflags QtGui QtXml)
  43. LINK_PLUGIN_FLAGS += $(shell pkg-config --libs QtGui QtXml)
  44. endif
  45. # --------------------------------------------------------------
  46. # Plugin bridges (POSIX)
  47. POSIX_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS)
  48. POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  49. POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  50. POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -ldl -lrt
  51. # --------------------------------------------------------------
  52. # Plugin bridges (Windows)
  53. WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DJACKBRIDGE_EXPORT -DPTW32_STATIC_LIB -I../libs/jackbridge
  54. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  55. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  56. WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -mwindows -lwinspool -lole32 -luuid -limm32 -lshell32 -lws2_32 -L../libs
  57. # --------------------------------------------------------------
  58. # Plugin bridges (Native)
  59. DGL_LIBS = -lX11
  60. NATIVE_BUILD_FLAGS = $(POSIX_BUILD_FLAGS)
  61. NATIVE_LINK_FLAGS = $(POSIX_LINK_FLAGS)
  62. NATIVE_BUILD_FLAGS += -DWANT_NATIVE
  63. ifeq ($(HAVE_FLUIDSYNTH),true)
  64. NATIVE_BUILD_FLAGS += -DWANT_FLUIDSYNTH
  65. NATIVE_BUILD_FLAGS += $(shell pkg-config --cflags fluidsynth)
  66. NATIVE_LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
  67. endif
  68. ifeq ($(HAVE_LINUXSAMPLER),true)
  69. NATIVE_BUILD_FLAGS += -DWANT_LINUXSAMPLER
  70. NATIVE_BUILD_FLAGS += $(shell pkg-config --cflags linuxsampler)
  71. NATIVE_LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
  72. endif
  73. ifeq ($(HAVE_AF_DEPS),true)
  74. NATIVE_BUILD_FLAGS += -DWANT_AUDIOFILE
  75. NATIVE_LINK_FLAGS += $(shell pkg-config --libs sndfile)
  76. ifeq ($(HAVE_FFMPEG),true)
  77. NATIVE_BUILD_FLAGS += -DHAVE_FFMPEG
  78. NATIVE_LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
  79. endif
  80. endif
  81. ifeq ($(HAVE_MF_DEPS),true)
  82. NATIVE_BUILD_FLAGS += -DWANT_MIDIFILE
  83. NATIVE_LINK_FLAGS += $(shell pkg-config --libs smf)
  84. endif
  85. ifeq ($(HAVE_OPENGL),true)
  86. NATIVE_BUILD_FLAGS += -DWANT_OPENGL
  87. NATIVE_LINK_FLAGS += $(shell pkg-config --libs gl) $(DGL_LIBS)
  88. endif
  89. ifeq ($(HAVE_ZYN_DEPS),true)
  90. NATIVE_BUILD_FLAGS += -DWANT_ZYNADDSUBFX
  91. NATIVE_LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
  92. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  93. NATIVE_LINK_FLAGS += $(shell pkg-config --libs ntk ntk_images)
  94. endif
  95. endif
  96. # --------------------------------------------------------------
  97. # UI bridges
  98. BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI
  99. LINK_UI_FLAGS = $(LINK_FLAGS) -ldl
  100. BUILD_UI_LV2_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2
  101. BUILD_UI_VST_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_VST
  102. BUILD_UI_LV2_GTK2_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK2 -DBRIDGE_LV2_GTK2 $(shell pkg-config --cflags gtk+-2.0)
  103. LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0)
  104. BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0)
  105. LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0)
  106. BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtGui)
  107. LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui)
  108. BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags Qt5Gui Qt5Widgets)
  109. LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs Qt5Gui Qt5Widgets)
  110. BUILD_UI_LV2_COCOA_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_COCOA -DBRIDGE_LV2_COCOA $(QT_UI_FLAGS)
  111. LINK_UI_LV2_COCOA_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS)
  112. BUILD_UI_LV2_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_HWND $(QT_UI_FLAGS)
  113. LINK_UI_LV2_HWND_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static
  114. BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_X11 -DBRIDGE_LV2_X11 $(QT_UI_FLAGS)
  115. LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) $(QT_UI_LIBS)
  116. BUILD_UI_VST_COCOA_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_COCOA -DBRIDGE_VST_COCOA $(QT_UI_FLAGS)
  117. LINK_UI_VST_COCOA_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS)
  118. BUILD_UI_VST_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_VST_HWND $(QT_UI_FLAGS)
  119. LINK_UI_VST_HWND_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static
  120. BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_X11 -DBRIDGE_VST_X11 $(QT_UI_FLAGS)
  121. LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) $(QT_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. endif
  134. ifeq ($(HAVE_QT5),true)
  135. TARGETS += ui_lv2-qt5
  136. endif
  137. TARGETS += ui_lv2-x11
  138. TARGETS += ui_vst-x11
  139. endif
  140. all: $(TARGETS)
  141. ui_lv2-gtk2: carla-bridge-lv2-gtk2
  142. ui_lv2-gtk3: carla-bridge-lv2-gtk3
  143. ui_lv2-qt4: carla-bridge-lv2-qt4
  144. ui_lv2-qt5: carla-bridge-lv2-qt5
  145. ui_lv2-cocoa: carla-bridge-lv2-cocoa
  146. ui_lv2-hwnd: carla-bridge-lv2-hwnd.exe
  147. ui_lv2-x11: carla-bridge-lv2-x11
  148. ui_vst-cocoa: carla-bridge-vst-cocoa
  149. ui_vst-hwnd: carla-bridge-vst-hwnd.exe
  150. ui_vst-x11: carla-bridge-vst-x11
  151. # --------------------------------------------------------------
  152. native: carla-bridge-native
  153. posix32: carla-bridge-posix32
  154. posix64: carla-bridge-posix64
  155. win32: carla-bridge-win32.exe
  156. win64: carla-bridge-win64.exe
  157. # --------------------------------------------------------------
  158. # UI common
  159. %__lv2.o: %.cpp
  160. $(CXX) $< $(BUILD_UI_LV2_FLAGS) -c -o $@
  161. %__vst.o: %.cpp
  162. $(CXX) $< $(BUILD_UI_VST_FLAGS) -c -o $@
  163. OBJS_UI_LV2_LIBS = \
  164. ../libs/lilv.a \
  165. ../libs/rtmempool.a
  166. # --------------------------------------------------------------
  167. # ui_lv2-gtk2
  168. OBJS_UI_LV2_GTK2 = CarlaBridgeUI-LV2__lv2-gtk2.o \
  169. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  170. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk2.o
  171. carla-bridge-lv2-gtk2: $(OBJS_UI_LV2_GTK2) $(OBJS_UI_LV2_LIBS)
  172. $(CXX) $^ $(LINK_UI_LV2_GTK2_FLAGS) -o $@ && $(STRIP) $@
  173. %__lv2-gtk2.o: %.cpp
  174. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  175. # --------------------------------------------------------------
  176. # ui_lv2-gtk3
  177. OBJS_UI_LV2_GTK3 = CarlaBridgeUI-LV2__lv2-gtk3.o \
  178. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  179. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitGtk__lv2-gtk3.o
  180. carla-bridge-lv2-gtk3: $(OBJS_UI_LV2_GTK3) $(OBJS_UI_LV2_LIBS)
  181. $(CXX) $^ $(LINK_UI_LV2_GTK3_FLAGS) -o $@ && $(STRIP) $@
  182. %__lv2-gtk3.o: %.cpp
  183. $(CXX) $< $(BUILD_UI_LV2_GTK3_FLAGS) -c -o $@
  184. # --------------------------------------------------------------
  185. # ui_lv2-qt4
  186. OBJS_UI_LV2_QT4 = CarlaBridgeUI-LV2__lv2-qt4.o \
  187. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  188. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt4.o
  189. carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS)
  190. $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@ && $(STRIP) $@
  191. %__lv2-qt4.o: %.cpp
  192. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -c -o $@
  193. # --------------------------------------------------------------
  194. # ui_lv2-qt5
  195. OBJS_UI_LV2_QT5 = CarlaBridgeUI-LV2__lv2-qt5.o \
  196. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  197. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt5.o
  198. carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS)
  199. $(CXX) $^ $(LINK_UI_LV2_QT5_FLAGS) -o $@ && $(STRIP) $@
  200. %__lv2-qt5.o: %.cpp
  201. $(CXX) $< $(BUILD_UI_LV2_QT5_FLAGS) -c -o $@
  202. # --------------------------------------------------------------
  203. # ui_lv2-x11
  204. OBJS_UI_LV2_X11 = CarlaBridgeUI-LV2__lv2-x11.o \
  205. CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \
  206. CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-x11.o
  207. carla-bridge-lv2-x11: $(OBJS_UI_LV2_X11) $(OBJS_UI_LV2_LIBS)
  208. $(CXX) $^ $(LINK_UI_LV2_X11_FLAGS) -o $@ && $(STRIP) $@
  209. %__lv2-x11.o: %.cpp
  210. $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  211. # --------------------------------------------------------------
  212. # ui_vst-hwnd
  213. OBJS_UI_VST_HWND = CarlaBridgeUI-VST__vst-hwnd.o \
  214. CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  215. CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-hwnd.o
  216. carla-bridge-vst-hwnd.exe: $(OBJS_UI_VST_HWND)
  217. $(CXX) $^ $(LINK_UI_VST_HWND_FLAGS) -o $@ && $(STRIP) $@
  218. %__vst-hwnd.o: %.cpp
  219. $(CXX) $< $(BUILD_UI_VST_HWND_FLAGS) -c -o $@
  220. # --------------------------------------------------------------
  221. # ui_vst-x11
  222. OBJS_UI_VST_X11 = CarlaBridgeUI-VST__vst-x11.o \
  223. CarlaBridgeClient__vst.o CarlaBridgeOsc__vst.o \
  224. CarlaBridgeToolkit__vst.o CarlaBridgeToolkitQt__vst-x11.o
  225. carla-bridge-vst-x11: $(OBJS_UI_VST_X11)
  226. $(CXX) $^ $(LINK_UI_VST_X11_FLAGS) -o $@ && $(STRIP) $@
  227. %__vst-x11.o: %.cpp
  228. $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  229. # --------------------------------------------------------------
  230. # plugin common
  231. FILES = \
  232. ../backend/plugin/moc_CarlaPluginGui.cpp
  233. # --------------------------------------------------------------
  234. # native
  235. OBJS_NATIVE = CarlaBridgePlugin__native.o \
  236. CarlaBridgeClient__native.o CarlaBridgeOsc__native.o
  237. # carla-engine
  238. OBJS_NATIVE += \
  239. ../backend/engine/CarlaEngine__native.o \
  240. ../backend/engine/CarlaEngineOsc__native.o \
  241. ../backend/engine/CarlaEngineThread__native.o \
  242. ../backend/engine/CarlaEngineJack__native.o \
  243. ../backend/engine/CarlaEngineBridge__native.o
  244. # carla-plugin
  245. OBJS_NATIVE += \
  246. ../backend/plugin/CarlaPlugin__native.o \
  247. ../backend/plugin/CarlaPluginGui__native.o \
  248. ../backend/plugin/CarlaPluginThread__native.o \
  249. ../backend/plugin/NativePlugin__native.o \
  250. ../backend/plugin/LadspaPlugin__native.o \
  251. ../backend/plugin/DssiPlugin__native.o \
  252. ../backend/plugin/Lv2Plugin__native.o \
  253. ../backend/plugin/VstPlugin__native.o \
  254. ../backend/plugin/Vst3Plugin__native.o \
  255. ../backend/plugin/FluidSynthPlugin__native.o \
  256. ../backend/plugin/LinuxSamplerPlugin__native.o
  257. # carla-standalone
  258. OBJS_NATIVE += \
  259. ../backend/standalone/CarlaStandalone__native.o
  260. # libs
  261. OBJS_NATIVE += \
  262. ../backend/libcarla_native.a \
  263. ../libs/dgl.a \
  264. ../libs/rtmempool.a \
  265. ../libs/widgets.a
  266. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  267. OBJS_NATIVE += \
  268. ../libs/lilv.a
  269. endif
  270. carla-bridge-native: $(FILES) $(OBJS_NATIVE)
  271. $(CXX) $(OBJS_NATIVE) $(NATIVE_LINK_FLAGS) -o $@ && $(STRIP) $@
  272. %__native.o: %.cpp
  273. $(CXX) $< $(NATIVE_BUILD_FLAGS) -c -o $@
  274. # --------------------------------------------------------------
  275. # posix32
  276. OBJS_POSIX32 = CarlaBridgePlugin__posix32.o \
  277. CarlaBridgeClient__posix32.o CarlaBridgeOsc__posix32.o
  278. # carla-engine
  279. OBJS_POSIX32 += \
  280. ../backend/engine/CarlaEngine__posix32.o \
  281. ../backend/engine/CarlaEngineOsc__posix32.o \
  282. ../backend/engine/CarlaEngineThread__posix32.o \
  283. ../backend/engine/CarlaEngineJack__posix32.o \
  284. ../backend/engine/CarlaEngineBridge__posix32.o
  285. # carla-plugin
  286. OBJS_POSIX32 += \
  287. ../backend/plugin/CarlaPlugin__posix32.o \
  288. ../backend/plugin/CarlaPluginGui__posix32.o \
  289. ../backend/plugin/CarlaPluginThread__posix32.o \
  290. ../backend/plugin/NativePlugin__posix32.o \
  291. ../backend/plugin/LadspaPlugin__posix32.o \
  292. ../backend/plugin/DssiPlugin__posix32.o \
  293. ../backend/plugin/Lv2Plugin__posix32.o \
  294. ../backend/plugin/VstPlugin__posix32.o \
  295. ../backend/plugin/Vst3Plugin__posix32.o \
  296. ../backend/plugin/FluidSynthPlugin__posix32.o \
  297. ../backend/plugin/LinuxSamplerPlugin__posix32.o
  298. # carla-standalone
  299. OBJS_POSIX32 += \
  300. ../backend/standalone/CarlaStandalone__posix32.o
  301. # libs
  302. OBJS_POSIX32 += \
  303. ../libs/lilv.posix32.a \
  304. ../libs/rtmempool.posix32.a
  305. carla-bridge-posix32: $(FILES) $(OBJS_POSIX32)
  306. $(CXX) $(OBJS_POSIX32) $(POSIX_LINK_FLAGS) $(POSIX_32BIT_FLAGS) -o $@ && $(STRIP) $@
  307. %__posix32.o: %.cpp
  308. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) -c -o $@
  309. # --------------------------------------------------------------
  310. # posix64
  311. OBJS_POSIX64 = CarlaBridgePlugin__posix64.o \
  312. CarlaBridgeClient__posix64.o CarlaBridgeOsc__posix64.o
  313. # carla-engine
  314. OBJS_POSIX64 += \
  315. ../backend/engine/CarlaEngine__posix64.o \
  316. ../backend/engine/CarlaEngineOsc__posix64.o \
  317. ../backend/engine/CarlaEngineThread__posix64.o \
  318. ../backend/engine/CarlaEngineJack__posix64.o \
  319. ../backend/engine/CarlaEngineBridge__posix64.o
  320. # carla-plugin
  321. OBJS_POSIX64 += \
  322. ../backend/plugin/CarlaPlugin__posix64.o \
  323. ../backend/plugin/CarlaPluginGui__posix64.o \
  324. ../backend/plugin/CarlaPluginThread__posix64.o \
  325. ../backend/plugin/NativePlugin__posix64.o \
  326. ../backend/plugin/LadspaPlugin__posix64.o \
  327. ../backend/plugin/DssiPlugin__posix64.o \
  328. ../backend/plugin/Lv2Plugin__posix64.o \
  329. ../backend/plugin/VstPlugin__posix64.o \
  330. ../backend/plugin/Vst3Plugin__posix64.o \
  331. ../backend/plugin/FluidSynthPlugin__posix64.o \
  332. ../backend/plugin/LinuxSamplerPlugin__posix64.o
  333. # carla-standalone
  334. OBJS_POSIX64 += \
  335. ../backend/standalone/CarlaStandalone__posix64.o
  336. # libs
  337. OBJS_POSIX64 += \
  338. ../libs/lilv.posix64.a \
  339. ../libs/rtmempool.posix64.a
  340. carla-bridge-posix64: $(FILES) $(OBJS_POSIX64)
  341. $(CXX) $(OBJS_POSIX64) $(POSIX_LINK_FLAGS) $(POSIX_64BIT_FLAGS) -o $@ && $(STRIP) $@
  342. %__posix64.o: %.cpp
  343. $(CXX) $< $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) -c -o $@
  344. # --------------------------------------------------------------
  345. # win32
  346. OBJS_WIN32 = CarlaBridgePlugin__win32.o \
  347. CarlaBridgeClient__win32.o CarlaBridgeOsc__win32.o
  348. # carla-engine
  349. OBJS_WIN32 += \
  350. ../backend/engine/CarlaEngine__win32.o \
  351. ../backend/engine/CarlaEngineOsc__win32.o \
  352. ../backend/engine/CarlaEngineThread__win32.o \
  353. ../backend/engine/CarlaEngineBridge__win32.o \
  354. ../backend/engine/CarlaEngineJack__win32.o
  355. # carla-plugin
  356. OBJS_WIN32 += \
  357. ../backend/plugin/CarlaPlugin__win32.o \
  358. ../backend/plugin/CarlaPluginGui__win32.o \
  359. ../backend/plugin/CarlaPluginThread__win32.o \
  360. ../backend/plugin/NativePlugin__win32.o \
  361. ../backend/plugin/LadspaPlugin__win32.o \
  362. ../backend/plugin/DssiPlugin__win32.o \
  363. ../backend/plugin/Lv2Plugin__win32.o \
  364. ../backend/plugin/VstPlugin__win32.o \
  365. ../backend/plugin/Vst3Plugin__win32.o \
  366. ../backend/plugin/FluidSynthPlugin__win32.o \
  367. ../backend/plugin/LinuxSamplerPlugin__win32.o
  368. # carla-standalone
  369. OBJS_WIN32 += \
  370. ../backend/standalone/CarlaStandalone__win32.o
  371. # libs
  372. OBJS_WIN32 += \
  373. ../libs/lilv.win32.a \
  374. ../libs/rtmempool.win32.a
  375. carla-bridge-win32.exe: $(FILES) $(OBJS_WIN32) ../libs/jackbridge-win32.dll
  376. $(CXX) $(OBJS_WIN32) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -ljackbridge-win32 -o $@ && $(STRIP) $@
  377. %__win32.o: %.cpp
  378. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) -c -o $@
  379. # --------------------------------------------------------------
  380. # win64
  381. OBJS_WIN64 = CarlaBridgePlugin__win64.o \
  382. CarlaBridgeClient__win64.o CarlaBridgeOsc__win64.o
  383. # carla-engine
  384. OBJS_WIN64 += \
  385. ../backend/engine/CarlaEngine__win64.o \
  386. ../backend/engine/CarlaEngineOsc__win64.o \
  387. ../backend/engine/CarlaEngineThread__win64.o \
  388. ../backend/engine/CarlaEngineBridge__win64.o \
  389. ../backend/engine/CarlaEngineJack__win64.o
  390. # carla-plugin
  391. OBJS_WIN64 += \
  392. ../backend/plugin/CarlaPlugin__win64.o \
  393. ../backend/plugin/CarlaPluginGui__win64.o \
  394. ../backend/plugin/CarlaPluginThread__win64.o \
  395. ../backend/plugin/NativePlugin__win64.o \
  396. ../backend/plugin/LadspaPlugin__win64.o \
  397. ../backend/plugin/DssiPlugin__win64.o \
  398. ../backend/plugin/Lv2Plugin__win64.o \
  399. ../backend/plugin/VstPlugin__win64.o \
  400. ../backend/plugin/Vst3Plugin__win64.o \
  401. ../backend/plugin/FluidSynthPlugin__win64.o \
  402. ../backend/plugin/LinuxSamplerPlugin__win64.o
  403. # carla-standalone
  404. OBJS_WIN64 += \
  405. ../backend/standalone/CarlaStandalone__win64.o
  406. # libs
  407. OBJS_WIN64 += \
  408. ../libs/lilv.win64.a \
  409. ../libs/rtmempool.win64.a
  410. carla-bridge-win64.exe: $(FILES) $(OBJS_WIN64) ../libs/jackbridge-win64.dll
  411. $(CXX) $(OBJS_WIN64) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -ljackbridge-win64 -o $@ && $(STRIP) $@
  412. %__win64.o: %.cpp
  413. $(CXX) $< $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) -c -o $@
  414. # --------------------------------------------------------------
  415. ../backend/plugin/moc_%.cpp: ../backend/plugin/%.hpp
  416. $(MOC) $< -DMOC_PARSING -o $@
  417. # --------------------------------------------------------------
  418. ../backend/libcarla_native.a:
  419. $(MAKE) -C ../backend/native
  420. ../libs/%:
  421. $(MAKE) -C ../libs $*
  422. # --------------------------------------------------------------
  423. doxygen: carla_bridge.doxygen
  424. doxygen $<
  425. # --------------------------------------------------------------
  426. clean:
  427. rm -f *.o *.dll *.so *.exe
  428. rm -f $(OBJS_NATIVE)
  429. rm -f $(OBJS_POSIX32)
  430. rm -f $(OBJS_POSIX64)
  431. rm -f $(OBJS_WIN32)
  432. rm -f $(OBJS_WIN64)
  433. rm -f carla-bridge-lv2-gtk2 carla-bridge-lv2-gtk3 carla-bridge-lv2-qt4 carla-bridge-lv2-qt5 carla-bridge-lv2-x11
  434. rm -f carla-bridge-vst-x11
  435. rm -f carla-bridge-native carla-bridge-posix32 carla-bridge-posix64
  436. # --------------------------------------------------------------
  437. debug:
  438. $(MAKE) DEBUG=true