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