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

11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
11 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
7 years ago
7 years ago
11 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
9 years ago
9 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
7 years ago
11 years ago
11 years ago
11 years ago
11 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033
  1. #!/usr/bin/make -f
  2. # Makefile for Carla #
  3. # ------------------ #
  4. # Created by falkTX
  5. #
  6. include source/Makefile.mk
  7. # ----------------------------------------------------------------------------------------------------------------------------
  8. LINK := ln -sf
  9. ifeq ($(DEFAULT_QT),4)
  10. PYUIC ?= pyuic4 -w
  11. PYRCC ?= pyrcc4 -py3
  12. ifeq ($(HAVE_QT4),true)
  13. HAVE_THEME = true
  14. endif
  15. else
  16. PYUIC ?= pyuic5
  17. PYRCC ?= pyrcc5
  18. ifeq ($(HAVE_QT5),true)
  19. HAVE_THEME = true
  20. endif
  21. endif
  22. # ----------------------------------------------------------------------------------------------------------------------------
  23. PREFIX := /usr/local
  24. BINDIR := $(PREFIX)/bin
  25. LIBDIR := $(PREFIX)/lib
  26. DATADIR := $(PREFIX)/share
  27. INCLUDEDIR := $(PREFIX)/include
  28. DESTDIR :=
  29. ifeq ($(DEBUG),true)
  30. MODULEDIR := $(CURDIR)/build/modules/Debug
  31. else
  32. MODULEDIR := $(CURDIR)/build/modules/Release
  33. endif
  34. # ----------------------------------------------------------------------------------------------------------------------------
  35. all: BIN RES UI WIDGETS
  36. # ----------------------------------------------------------------------------------------------------------------------------
  37. # Binaries (native)
  38. BIN: backend discovery bridges-plugin bridges-ui interposer libjack plugin theme
  39. # ----------------------------------------------------------------------------------------------------------------------------
  40. ALL_LIBS = $(MODULEDIR)/carla_engine.a
  41. ALL_LIBS += $(MODULEDIR)/carla_engine_plugin.a
  42. ALL_LIBS += $(MODULEDIR)/carla_plugin.a
  43. ALL_LIBS += $(MODULEDIR)/jackbridge.a
  44. ALL_LIBS += $(MODULEDIR)/native-plugins.a
  45. ALL_LIBS += $(MODULEDIR)/juce_audio_basics.a
  46. ALL_LIBS += $(MODULEDIR)/juce_audio_formats.a
  47. ALL_LIBS += $(MODULEDIR)/juce_core.a
  48. ALL_LIBS += $(MODULEDIR)/juce_events.a
  49. ALL_LIBS += $(MODULEDIR)/lilv.a
  50. ALL_LIBS += $(MODULEDIR)/rtmempool.a
  51. ifeq ($(HAVE_DGL),true)
  52. ALL_LIBS += $(MODULEDIR)/dgl.a
  53. endif
  54. ifeq ($(HAVE_HYLIA),true)
  55. ALL_LIBS += $(MODULEDIR)/hylia.a
  56. endif
  57. ifeq ($(MACOS_OR_WIN32),true)
  58. ALL_LIBS += $(MODULEDIR)/juce_audio_devices.a
  59. ALL_LIBS += $(MODULEDIR)/juce_audio_processors.a
  60. ALL_LIBS += $(MODULEDIR)/juce_data_structures.a
  61. ALL_LIBS += $(MODULEDIR)/juce_graphics.a
  62. ALL_LIBS += $(MODULEDIR)/juce_gui_basics.a
  63. ifeq ($(MACOS),true)
  64. ALL_LIBS += $(MODULEDIR)/juce_gui_extra.a
  65. endif
  66. else
  67. ALL_LIBS += $(MODULEDIR)/rtaudio.a
  68. ALL_LIBS += $(MODULEDIR)/rtmidi.a
  69. endif
  70. ifeq ($(HAVE_QT4),true)
  71. ALL_LIBS += $(MODULEDIR)/theme.qt4.a
  72. endif
  73. ifeq ($(HAVE_QT5),true)
  74. ALL_LIBS += $(MODULEDIR)/theme.qt5.a
  75. endif
  76. libs: $(ALL_LIBS)
  77. $(MODULEDIR)/carla_engine.a: .FORCE
  78. @$(MAKE) -C source/backend/engine
  79. $(MODULEDIR)/carla_engine_plugin.a: $(MODULEDIR)/carla_engine.a
  80. @$(MAKE) -C source/backend/engine
  81. $(MODULEDIR)/carla_plugin.a: .FORCE
  82. @$(MAKE) -C source/backend/plugin
  83. $(MODULEDIR)/jackbridge.a: .FORCE
  84. @$(MAKE) -C source/jackbridge
  85. $(MODULEDIR)/jackbridge.%.a: .FORCE
  86. @$(MAKE) -C source/jackbridge $*
  87. $(MODULEDIR)/native-plugins.a: .FORCE
  88. @$(MAKE) -C source/native-plugins
  89. $(MODULEDIR)/theme.qt4.a: .FORCE
  90. @$(MAKE) -C source/theme qt4
  91. $(MODULEDIR)/theme.qt5.a: .FORCE
  92. @$(MAKE) -C source/theme qt5
  93. $(MODULEDIR)/%.posix32.a: .FORCE
  94. @$(MAKE) -C source/modules/$* posix32
  95. $(MODULEDIR)/%.posix64.a: .FORCE
  96. @$(MAKE) -C source/modules/$* posix64
  97. $(MODULEDIR)/%.win32.a: .FORCE
  98. @$(MAKE) -C source/modules/$* win32
  99. $(MODULEDIR)/%.win64.a: .FORCE
  100. @$(MAKE) -C source/modules/$* win64
  101. $(MODULEDIR)/%.a: .FORCE
  102. @$(MAKE) -C source/modules/$*
  103. # ----------------------------------------------------------------------------------------------------------------------------
  104. backend: libs
  105. @$(MAKE) -C source/backend
  106. bridges-plugin: libs
  107. @$(MAKE) -C source/bridges-plugin
  108. bridges-ui: libs
  109. @$(MAKE) -C source/bridges-ui
  110. discovery: libs
  111. @$(MAKE) -C source/discovery
  112. interposer:
  113. @$(MAKE) -C source/interposer
  114. libjack: libs
  115. @$(MAKE) -C source/libjack
  116. plugin: backend bridges-plugin bridges-ui discovery
  117. @$(MAKE) -C source/plugin
  118. theme: libs
  119. @$(MAKE) -C source/theme
  120. # ----------------------------------------------------------------------------------------------------------------------------
  121. # Binaries (posix32)
  122. LIBS_POSIX32 = $(MODULEDIR)/jackbridge.posix32.a
  123. LIBS_POSIX32 += $(MODULEDIR)/juce_audio_basics.posix32.a
  124. LIBS_POSIX32 += $(MODULEDIR)/juce_core.posix32.a
  125. LIBS_POSIX32 += $(MODULEDIR)/juce_events.posix32.a
  126. LIBS_POSIX32 += $(MODULEDIR)/lilv.posix32.a
  127. LIBS_POSIX32 += $(MODULEDIR)/rtmempool.posix32.a
  128. ifeq ($(MACOS),true)
  129. LIBS_POSIX32 += $(MODULEDIR)/juce_audio_processors.posix32.a
  130. LIBS_POSIX32 += $(MODULEDIR)/juce_data_structures.posix32.a
  131. LIBS_POSIX32 += $(MODULEDIR)/juce_graphics.posix32.a
  132. LIBS_POSIX32 += $(MODULEDIR)/juce_gui_basics.posix32.a
  133. LIBS_POSIX32 += $(MODULEDIR)/juce_gui_extra.posix32.a
  134. endif
  135. posix32: $(LIBS_POSIX32)
  136. $(MAKE) -C source/bridges-plugin posix32
  137. $(MAKE) -C source/discovery posix32
  138. # ----------------------------------------------------------------------------------------------------------------------------
  139. # Binaries (posix64)
  140. LIBS_POSIX64 = $(MODULEDIR)/jackbridge.posix64.a
  141. LIBS_POSIX64 += $(MODULEDIR)/juce_audio_basics.posix64.a
  142. LIBS_POSIX64 += $(MODULEDIR)/juce_core.posix64.a
  143. LIBS_POSIX64 += $(MODULEDIR)/juce_events.posix64.a
  144. LIBS_POSIX64 += $(MODULEDIR)/lilv.posix64.a
  145. LIBS_POSIX64 += $(MODULEDIR)/rtmempool.posix64.a
  146. ifeq ($(MACOS),true)
  147. LIBS_POSIX64 += $(MODULEDIR)/juce_audio_processors.posix64.a
  148. LIBS_POSIX64 += $(MODULEDIR)/juce_data_structures.posix64.a
  149. LIBS_POSIX64 += $(MODULEDIR)/juce_graphics.posix64.a
  150. LIBS_POSIX64 += $(MODULEDIR)/juce_gui_basics.posix64.a
  151. LIBS_POSIX64 += $(MODULEDIR)/juce_gui_extra.posix64.a
  152. endif
  153. posix64: $(LIBS_POSIX64)
  154. $(MAKE) -C source/bridges-plugin posix64
  155. $(MAKE) -C source/discovery posix64
  156. # ----------------------------------------------------------------------------------------------------------------------------
  157. # Binaries (win32)
  158. ifeq ($(BUILDING_FOR_WINDOWS),true)
  159. LIBS_WIN32 = $(MODULEDIR)/jackbridge.win32.a
  160. else
  161. LIBS_WIN32 = $(MODULEDIR)/jackbridge.win32e.a
  162. endif
  163. LIBS_WIN32 += $(MODULEDIR)/juce_audio_basics.win32.a
  164. LIBS_WIN32 += $(MODULEDIR)/juce_audio_processors.win32.a
  165. LIBS_WIN32 += $(MODULEDIR)/juce_core.win32.a
  166. LIBS_WIN32 += $(MODULEDIR)/juce_data_structures.win32.a
  167. LIBS_WIN32 += $(MODULEDIR)/juce_events.win32.a
  168. LIBS_WIN32 += $(MODULEDIR)/juce_graphics.win32.a
  169. LIBS_WIN32 += $(MODULEDIR)/juce_gui_basics.win32.a
  170. LIBS_WIN32 += $(MODULEDIR)/lilv.win32.a
  171. LIBS_WIN32 += $(MODULEDIR)/rtmempool.win32.a
  172. win32: $(LIBS_WIN32)
  173. $(MAKE) -C source/bridges-plugin win32
  174. $(MAKE) -C source/discovery win32
  175. # ----------------------------------------------------------------------------------------------------------------------------
  176. # Binaries (win64)
  177. ifeq ($(BUILDING_FOR_WINDOWS),true)
  178. LIBS_WIN64 = $(MODULEDIR)/jackbridge.win64.a
  179. else
  180. LIBS_WIN64 = $(MODULEDIR)/jackbridge.win64e.a
  181. endif
  182. LIBS_WIN64 += $(MODULEDIR)/juce_audio_basics.win64.a
  183. LIBS_WIN64 += $(MODULEDIR)/juce_audio_processors.win64.a
  184. LIBS_WIN64 += $(MODULEDIR)/juce_core.win64.a
  185. LIBS_WIN64 += $(MODULEDIR)/juce_data_structures.win64.a
  186. LIBS_WIN64 += $(MODULEDIR)/juce_events.win64.a
  187. LIBS_WIN64 += $(MODULEDIR)/juce_graphics.win64.a
  188. LIBS_WIN64 += $(MODULEDIR)/juce_gui_basics.win64.a
  189. LIBS_WIN64 += $(MODULEDIR)/lilv.win64.a
  190. LIBS_WIN64 += $(MODULEDIR)/rtmempool.win64.a
  191. win64: $(LIBS_WIN64)
  192. $(MAKE) -C source/bridges-plugin win64
  193. $(MAKE) -C source/discovery win64
  194. # ----------------------------------------------------------------------------------------------------------------------------
  195. # Binaries (wine)
  196. wine32:
  197. $(MAKE) -C source/jackbridge wine32
  198. cp -f $(MODULEDIR)/jackbridge-wine32.dll.so $(CURDIR)/bin/jackbridge-wine32.dll
  199. wine64:
  200. $(MAKE) -C source/jackbridge wine64
  201. cp -f $(MODULEDIR)/jackbridge-wine64.dll.so $(CURDIR)/bin/jackbridge-wine64.dll
  202. # ----------------------------------------------------------------------------------------------------------------------------
  203. # Resources
  204. ifeq ($(HAVE_PYQT),true)
  205. RES = \
  206. bin/resources/carla_app.py \
  207. bin/resources/carla_backend.py \
  208. bin/resources/carla_backend_qt.py \
  209. bin/resources/carla_config.py \
  210. bin/resources/carla_control.py \
  211. bin/resources/carla_database.py \
  212. bin/resources/carla_host.py \
  213. bin/resources/carla_settings.py \
  214. bin/resources/carla_skin.py \
  215. bin/resources/carla_shared.py \
  216. bin/resources/carla_utils.py \
  217. bin/resources/carla_widgets.py \
  218. bin/resources/canvaspreviewframe.py \
  219. bin/resources/digitalpeakmeter.py \
  220. bin/resources/draggablegraphicsview.py \
  221. bin/resources/externalui.py \
  222. bin/resources/ledbutton.py \
  223. bin/resources/paramspinbox.py \
  224. bin/resources/patchcanvas.py \
  225. bin/resources/patchcanvas_theme.py \
  226. bin/resources/pianoroll.py \
  227. bin/resources/pixmapbutton.py \
  228. bin/resources/pixmapdial.py \
  229. bin/resources/pixmapkeyboard.py \
  230. bin/resources/racklistwidget.py \
  231. bin/resources/resources_rc.py \
  232. bin/resources/ui_carla_about.py \
  233. bin/resources/ui_carla_about_juce.py \
  234. bin/resources/ui_carla_add_jack.py \
  235. bin/resources/ui_carla_database.py \
  236. bin/resources/ui_carla_edit.py \
  237. bin/resources/ui_carla_host.py \
  238. bin/resources/ui_carla_parameter.py \
  239. bin/resources/ui_carla_plugin_calf.py \
  240. bin/resources/ui_carla_plugin_classic.py \
  241. bin/resources/ui_carla_plugin_compact.py \
  242. bin/resources/ui_carla_plugin_default.py \
  243. bin/resources/ui_carla_plugin_presets.py \
  244. bin/resources/ui_carla_refresh.py \
  245. bin/resources/ui_carla_settings.py \
  246. bin/resources/ui_carla_settings_driver.py \
  247. bin/resources/ui_inputdialog_value.py \
  248. bin/resources/ui_midipattern.py \
  249. source/carla_config.py \
  250. source/resources_rc.py
  251. RES: $(RES)
  252. source/carla_config.py:
  253. @echo "#!/usr/bin/env python3" > $@
  254. @echo "# -*- coding: utf-8 -*-" >> $@
  255. ifeq ($(DEFAULT_QT),4)
  256. @echo "config_UseQt5 = False" >> $@
  257. else
  258. @echo "config_UseQt5 = True" >> $@
  259. endif
  260. source/resources_rc.py: resources/resources.qrc resources/*/*.png resources/*/*.svg
  261. $(PYRCC) $< -o $@
  262. bin/resources/%.py: source/%.py
  263. $(LINK) $(CURDIR)/source/$*.py bin/resources/
  264. else
  265. RES:
  266. endif
  267. # ----------------------------------------------------------------------------------------------------------------------------
  268. # UI code
  269. ifeq ($(HAVE_PYQT),true)
  270. UIs = \
  271. source/ui_carla_about.py \
  272. source/ui_carla_about_juce.py \
  273. source/ui_carla_add_jack.py \
  274. source/ui_carla_database.py \
  275. source/ui_carla_edit.py \
  276. source/ui_carla_host.py \
  277. source/ui_carla_parameter.py \
  278. source/ui_carla_plugin_calf.py \
  279. source/ui_carla_plugin_classic.py \
  280. source/ui_carla_plugin_compact.py \
  281. source/ui_carla_plugin_default.py \
  282. source/ui_carla_plugin_presets.py \
  283. source/ui_carla_refresh.py \
  284. source/ui_carla_settings.py \
  285. source/ui_carla_settings_driver.py \
  286. source/ui_inputdialog_value.py \
  287. source/ui_midipattern.py
  288. UI: $(UIs)
  289. source/ui_%.py: resources/ui/%.ui
  290. $(PYUIC) $< -o $@
  291. else
  292. UI:
  293. endif
  294. # ----------------------------------------------------------------------------------------------------------------------------
  295. # Widgets
  296. WIDGETS = \
  297. source/canvaspreviewframe.py \
  298. source/digitalpeakmeter.py \
  299. source/draggablegraphicsview.py \
  300. source/ledbutton.py \
  301. source/paramspinbox.py \
  302. source/pianoroll.py \
  303. source/pixmapbutton.py \
  304. source/pixmapdial.py \
  305. source/pixmapkeyboard.py \
  306. source/racklistwidget.py
  307. WIDGETS: $(WIDGETS)
  308. source/%.py: source/widgets/%.py
  309. $(LINK) widgets/$*.py $@
  310. # ----------------------------------------------------------------------------------------------------------------------------
  311. clean:
  312. $(MAKE) clean -C source/backend
  313. $(MAKE) clean -C source/bridges-plugin
  314. $(MAKE) clean -C source/bridges-ui
  315. $(MAKE) clean -C source/discovery
  316. $(MAKE) clean -C source/interposer
  317. $(MAKE) clean -C source/libjack
  318. $(MAKE) clean -C source/modules
  319. $(MAKE) clean -C source/native-plugins
  320. $(MAKE) clean -C source/plugin
  321. $(MAKE) clean -C source/theme
  322. rm -f $(RES)
  323. rm -f $(UIs)
  324. rm -f $(WIDGETS)
  325. rm -f *~ source/*~ source/*.pyc source/*_rc.py source/ui_*.py
  326. distclean: clean
  327. rm -f bin/*.exe bin/*.dll bin/*.dylib bin/*.so
  328. rm -rf build build-lv2
  329. debug:
  330. $(MAKE) DEBUG=true
  331. doxygen:
  332. $(MAKE) doxygen -C source/backend
  333. stoat:
  334. stoat --recursive ./build/ --suppression ./data/stoat-supression.txt --whitelist ./data/stoat-whitelist.txt --graph-view ./data/stoat-callgraph.png
  335. # stoat --recursive ./build/ \
  336. # --suppression ./data/stoat-supression.txt \
  337. # --whitelist ./data/stoat-whitelist.txt \
  338. # --graph-view ./data/stoat-callgraph.png
  339. # ----------------------------------------------------------------------------------------------------------------------------
  340. install:
  341. # Create directories
  342. install -d $(DESTDIR)$(BINDIR)
  343. install -d $(DESTDIR)$(LIBDIR)/carla/jack
  344. install -d $(DESTDIR)$(LIBDIR)/pkgconfig
  345. install -d $(DESTDIR)$(LIBDIR)/python3/dist-packages
  346. install -d $(DESTDIR)$(DATADIR)/carla
  347. install -d $(DESTDIR)$(DATADIR)/carla/resources
  348. install -d $(DESTDIR)$(INCLUDEDIR)/carla
  349. install -d $(DESTDIR)$(INCLUDEDIR)/carla/includes
  350. install -d $(DESTDIR)$(INCLUDEDIR)/carla/utils
  351. ifeq ($(HAVE_PYQT),true)
  352. # Create directories (gui)
  353. install -d $(DESTDIR)$(LIBDIR)/carla/styles
  354. install -d $(DESTDIR)$(DATADIR)/applications
  355. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  356. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  357. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  358. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  359. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  360. install -d $(DESTDIR)$(DATADIR)/mime/packages
  361. endif
  362. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  363. # Create directories (experimental plugins)
  364. install -d $(DESTDIR)$(DATADIR)/carla/resources/at1
  365. install -d $(DESTDIR)$(DATADIR)/carla/resources/bls1
  366. install -d $(DESTDIR)$(DATADIR)/carla/resources/rev1
  367. endif
  368. ifeq ($(HAVE_ZYN_DEPS),true)
  369. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  370. # Create directories (zynaddsubfx)
  371. install -d $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  372. endif
  373. endif
  374. # --------------------------------------------------------------------------------------------------------------------
  375. # Install script files (non-gui)
  376. install -m 755 \
  377. data/carla-single \
  378. $(DESTDIR)$(BINDIR)
  379. # Adjust PREFIX value in script files (non-gui)
  380. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  381. $(DESTDIR)$(BINDIR)/carla-single
  382. # Install backend libs
  383. install -m 644 \
  384. bin/libcarla_*.* \
  385. $(DESTDIR)$(LIBDIR)/carla
  386. # Install other binaries
  387. install -m 755 \
  388. bin/*bridge-* \
  389. bin/carla-discovery-* \
  390. $(DESTDIR)$(LIBDIR)/carla
  391. ifeq ($(LINUX),true)
  392. # Install libjack
  393. install -m 755 \
  394. bin/jack/libjack.so.0 \
  395. $(DESTDIR)$(LIBDIR)/carla/jack
  396. endif
  397. # Install pkg-config files
  398. install -m 644 \
  399. data/*.pc \
  400. $(DESTDIR)$(LIBDIR)/pkgconfig
  401. # Adjust PREFIX, LIBDIR and INCLUDEDIR in pkg-config files
  402. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  403. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  404. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  405. sed -i 's?X-LIBDIR-X?$(LIBDIR)?' \
  406. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  407. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  408. sed -i 's?X-INCLUDEDIR-X?$(INCLUDEDIR)?' \
  409. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  410. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  411. # Install python code (dist-packages)
  412. install -m 644 \
  413. source/carla_backend.py \
  414. source/carla_utils.py \
  415. $(DESTDIR)$(LIBDIR)/python3/dist-packages
  416. # Install headers
  417. install -m 644 \
  418. source/backend/CarlaBackend.h \
  419. source/backend/CarlaHost.h \
  420. source/backend/CarlaUtils.h \
  421. source/backend/CarlaEngine.hpp \
  422. source/backend/CarlaPlugin.hpp \
  423. source/includes/CarlaNative.h \
  424. $(DESTDIR)$(INCLUDEDIR)/carla
  425. install -m 644 \
  426. source/includes/CarlaDefines.h \
  427. source/includes/CarlaMIDI.h \
  428. $(DESTDIR)$(INCLUDEDIR)/carla/includes
  429. install -m 644 \
  430. source/utils/CarlaUtils.hpp \
  431. source/utils/CarlaJuceUtils.hpp \
  432. source/utils/CarlaMathUtils.hpp \
  433. source/utils/CarlaPipeUtils.hpp \
  434. source/utils/CarlaPipeUtils.cpp \
  435. source/utils/CarlaExternalUI.hpp \
  436. source/utils/CarlaMutex.hpp \
  437. source/utils/CarlaString.hpp \
  438. $(DESTDIR)$(INCLUDEDIR)/carla/utils
  439. # --------------------------------------------------------------------------------------------------------------------
  440. ifeq ($(HAVE_PYQT),true)
  441. # Install script files (gui)
  442. install -m 755 \
  443. data/carla \
  444. data/carla-database \
  445. data/carla-jack-multi \
  446. data/carla-jack-single \
  447. data/carla-patchbay \
  448. data/carla-rack \
  449. data/carla-settings \
  450. $(DESTDIR)$(BINDIR)
  451. # Adjust PREFIX value in script files (gui)
  452. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  453. $(DESTDIR)$(BINDIR)/carla \
  454. $(DESTDIR)$(BINDIR)/carla-database \
  455. $(DESTDIR)$(BINDIR)/carla-jack-multi \
  456. $(DESTDIR)$(BINDIR)/carla-jack-single \
  457. $(DESTDIR)$(BINDIR)/carla-patchbay \
  458. $(DESTDIR)$(BINDIR)/carla-rack \
  459. $(DESTDIR)$(BINDIR)/carla-settings
  460. ifeq ($(HAVE_LIBLO),true)
  461. install -m 755 \
  462. data/carla-control \
  463. $(DESTDIR)$(BINDIR)
  464. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  465. $(DESTDIR)$(BINDIR)/carla-control
  466. endif
  467. # Install the real modgui bridge
  468. install -m 755 \
  469. data/carla-bridge-lv2-modgui \
  470. $(DESTDIR)$(LIBDIR)/carla
  471. # Adjust PREFIX value in modgui bridge
  472. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  473. $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  474. # Install python code (gui)
  475. install -m 644 \
  476. source/carla \
  477. source/carla-control \
  478. source/carla-jack-multi \
  479. source/carla-jack-single \
  480. source/carla-patchbay \
  481. source/carla-rack \
  482. source/*.py \
  483. $(DESTDIR)$(DATADIR)/carla
  484. # Adjust LIBDIR and DATADIR value in python code
  485. sed -i 's?X_LIBDIR_X = None?X_LIBDIR_X = "$(LIBDIR)"?' \
  486. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  487. sed -i 's?X_DATADIR_X = None?X_DATADIR_X = "$(DATADIR)"?' \
  488. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  489. # Install resources (gui)
  490. install -m 755 \
  491. bin/resources/carla-plugin \
  492. bin/resources/carla-plugin-patchbay \
  493. bin/resources/*-ui \
  494. $(DESTDIR)$(DATADIR)/carla/resources
  495. ifeq ($(HAVE_THEME),true)
  496. # Install theme
  497. install -m 644 \
  498. bin/styles/* \
  499. $(DESTDIR)$(LIBDIR)/carla/styles
  500. endif
  501. # Install desktop files
  502. install -m 644 data/carla.desktop $(DESTDIR)$(DATADIR)/applications
  503. ifeq ($(HAVE_LIBLO),true)
  504. install -m 644 data/carla-control.desktop $(DESTDIR)$(DATADIR)/applications
  505. endif
  506. # Install mime package
  507. install -m 644 data/carla.xml $(DESTDIR)$(DATADIR)/mime/packages
  508. # Install icons, 16x16
  509. install -m 644 resources/16x16/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  510. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  511. # Install icons, 48x48
  512. install -m 644 resources/48x48/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  513. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  514. # Install icons, 128x128
  515. install -m 644 resources/128x128/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  516. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  517. # Install icons, 256x256
  518. install -m 644 resources/256x256/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  519. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  520. # Install icons, scalable
  521. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  522. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  523. # Install resources (re-use python files)
  524. $(LINK) $(DATADIR)/carla/carla_app.py $(DESTDIR)$(DATADIR)/carla/resources
  525. $(LINK) $(DATADIR)/carla/carla_backend.py $(DESTDIR)$(DATADIR)/carla/resources
  526. $(LINK) $(DATADIR)/carla/carla_backend_qt.py $(DESTDIR)$(DATADIR)/carla/resources
  527. $(LINK) $(DATADIR)/carla/carla_config.py $(DESTDIR)$(DATADIR)/carla/resources
  528. $(LINK) $(DATADIR)/carla/carla_control.py $(DESTDIR)$(DATADIR)/carla/resources
  529. $(LINK) $(DATADIR)/carla/carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  530. $(LINK) $(DATADIR)/carla/carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  531. $(LINK) $(DATADIR)/carla/carla_modgui.py $(DESTDIR)$(DATADIR)/carla/resources
  532. $(LINK) $(DATADIR)/carla/carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  533. $(LINK) $(DATADIR)/carla/carla_skin.py $(DESTDIR)$(DATADIR)/carla/resources
  534. $(LINK) $(DATADIR)/carla/carla_shared.py $(DESTDIR)$(DATADIR)/carla/resources
  535. $(LINK) $(DATADIR)/carla/carla_utils.py $(DESTDIR)$(DATADIR)/carla/resources
  536. $(LINK) $(DATADIR)/carla/carla_widgets.py $(DESTDIR)$(DATADIR)/carla/resources
  537. $(LINK) $(DATADIR)/carla/canvaspreviewframe.py $(DESTDIR)$(DATADIR)/carla/resources
  538. $(LINK) $(DATADIR)/carla/digitalpeakmeter.py $(DESTDIR)$(DATADIR)/carla/resources
  539. $(LINK) $(DATADIR)/carla/draggablegraphicsview.py $(DESTDIR)$(DATADIR)/carla/resources
  540. $(LINK) $(DATADIR)/carla/externalui.py $(DESTDIR)$(DATADIR)/carla/resources
  541. $(LINK) $(DATADIR)/carla/ledbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  542. $(LINK) $(DATADIR)/carla/paramspinbox.py $(DESTDIR)$(DATADIR)/carla/resources
  543. $(LINK) $(DATADIR)/carla/patchcanvas.py $(DESTDIR)$(DATADIR)/carla/resources
  544. $(LINK) $(DATADIR)/carla/patchcanvas_theme.py $(DESTDIR)$(DATADIR)/carla/resources
  545. $(LINK) $(DATADIR)/carla/pianoroll.py $(DESTDIR)$(DATADIR)/carla/resources
  546. $(LINK) $(DATADIR)/carla/pixmapbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  547. $(LINK) $(DATADIR)/carla/pixmapdial.py $(DESTDIR)$(DATADIR)/carla/resources
  548. $(LINK) $(DATADIR)/carla/pixmapkeyboard.py $(DESTDIR)$(DATADIR)/carla/resources
  549. $(LINK) $(DATADIR)/carla/racklistwidget.py $(DESTDIR)$(DATADIR)/carla/resources
  550. $(LINK) $(DATADIR)/carla/resources_rc.py $(DESTDIR)$(DATADIR)/carla/resources
  551. $(LINK) $(DATADIR)/carla/ui_carla_about.py $(DESTDIR)$(DATADIR)/carla/resources
  552. $(LINK) $(DATADIR)/carla/ui_carla_about_juce.py $(DESTDIR)$(DATADIR)/carla/resources
  553. $(LINK) $(DATADIR)/carla/ui_carla_add_jack.py $(DESTDIR)$(DATADIR)/carla/resources
  554. $(LINK) $(DATADIR)/carla/ui_carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  555. $(LINK) $(DATADIR)/carla/ui_carla_edit.py $(DESTDIR)$(DATADIR)/carla/resources
  556. $(LINK) $(DATADIR)/carla/ui_carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  557. $(LINK) $(DATADIR)/carla/ui_carla_parameter.py $(DESTDIR)$(DATADIR)/carla/resources
  558. $(LINK) $(DATADIR)/carla/ui_carla_plugin_calf.py $(DESTDIR)$(DATADIR)/carla/resources
  559. $(LINK) $(DATADIR)/carla/ui_carla_plugin_classic.py $(DESTDIR)$(DATADIR)/carla/resources
  560. $(LINK) $(DATADIR)/carla/ui_carla_plugin_compact.py $(DESTDIR)$(DATADIR)/carla/resources
  561. $(LINK) $(DATADIR)/carla/ui_carla_plugin_default.py $(DESTDIR)$(DATADIR)/carla/resources
  562. $(LINK) $(DATADIR)/carla/ui_carla_plugin_presets.py $(DESTDIR)$(DATADIR)/carla/resources
  563. $(LINK) $(DATADIR)/carla/ui_carla_refresh.py $(DESTDIR)$(DATADIR)/carla/resources
  564. $(LINK) $(DATADIR)/carla/ui_carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  565. $(LINK) $(DATADIR)/carla/ui_carla_settings_driver.py $(DESTDIR)$(DATADIR)/carla/resources
  566. $(LINK) $(DATADIR)/carla/ui_inputdialog_value.py $(DESTDIR)$(DATADIR)/carla/resources
  567. $(LINK) $(DATADIR)/carla/ui_midipattern.py $(DESTDIR)$(DATADIR)/carla/resources
  568. endif
  569. # --------------------------------------------------------------------------------------------------------------------
  570. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  571. # Install resources (experimental plugins)
  572. install -m 644 \
  573. bin/resources/at1/*.png \
  574. $(DESTDIR)$(DATADIR)/carla/resources/at1
  575. install -m 644 \
  576. bin/resources/bls1/*.png \
  577. $(DESTDIR)$(DATADIR)/carla/resources/bls1
  578. install -m 644 \
  579. bin/resources/rev1/*.png \
  580. $(DESTDIR)$(DATADIR)/carla/resources/rev1
  581. install -m 755 \
  582. bin/resources/at1-ui \
  583. bin/resources/bls1-ui \
  584. bin/resources/rev1-ui \
  585. $(DESTDIR)$(DATADIR)/carla/resources
  586. endif
  587. ifeq ($(HAVE_ZYN_DEPS),true)
  588. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  589. # Install resources (zynaddsubfx)
  590. install -m 644 \
  591. bin/resources/zynaddsubfx/*.png \
  592. $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  593. install -m 755 \
  594. bin/resources/zynaddsubfx-ui \
  595. $(DESTDIR)$(DATADIR)/carla/resources
  596. endif
  597. endif
  598. # --------------------------------------------------------------------------------------------------------------------
  599. # Install lv2 plugin
  600. install -d $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  601. install -m 644 \
  602. bin/carla.lv2/carla.* \
  603. bin/carla.lv2/*.ttl \
  604. $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  605. # Link binaries for lv2 plugin
  606. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  607. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/$$i; \
  608. done
  609. rm -f $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/libcarla_standalone2.*
  610. # Link resources for lv2 plugin
  611. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  612. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  613. ifeq ($(HAVE_PYQT),true)
  614. # Link styles for lv2 plugin
  615. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  616. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  617. endif
  618. # --------------------------------------------------------------------------------------------------------------------
  619. ifeq ($(LINUX),true)
  620. ifeq ($(HAVE_X11),true)
  621. ifeq ($(HAVE_PYQT),true)
  622. # Install vst plugin
  623. install -d $(DESTDIR)$(LIBDIR)/vst/carla.vst
  624. install -m 644 \
  625. bin/CarlaRack*.* \
  626. bin/CarlaPatchbay*.* \
  627. $(DESTDIR)$(LIBDIR)/vst/carla.vst
  628. # Link binaries for vst plugin
  629. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  630. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/vst/carla.vst/$$i; \
  631. done
  632. rm -f $(DESTDIR)$(LIBDIR)/vst/carla.vst/libcarla_standalone2.*
  633. # Link resources for vst plugin
  634. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  635. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  636. # Link styles for vst plugin
  637. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  638. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  639. endif
  640. endif
  641. endif
  642. # --------------------------------------------------------------------------------------------------------------------
  643. ifneq ($(HAVE_PYQT),true)
  644. # Remove gui files for non-gui build
  645. rm $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  646. rm $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/carla-bridge-lv2-modgui
  647. endif
  648. # ----------------------------------------------------------------------------------------------------------------------------
  649. uninstall:
  650. rm -f $(DESTDIR)$(BINDIR)/carla*
  651. rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc
  652. rm -f $(DESTDIR)$(DATADIR)/applications/carla.desktop
  653. rm -f $(DESTDIR)$(DATADIR)/applications/carla-control.desktop
  654. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla.png
  655. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla-control.png
  656. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla.svg
  657. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla-control.svg
  658. rm -f $(DESTDIR)$(DATADIR)/mime/packages/carla.xml
  659. rm -rf $(DESTDIR)$(LIBDIR)/carla
  660. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  661. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla-native.lv2
  662. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst
  663. rm -rf $(DESTDIR)$(DATADIR)/carla
  664. rm -rf $(DESTDIR)$(INCLUDEDIR)/carla
  665. # ----------------------------------------------------------------------------------------------------------------------------
  666. USE_COLORS=true
  667. ifeq ($(HAIKU),true)
  668. USE_COLORS=false
  669. endif
  670. ifeq ($(USE_COLORS),true)
  671. ANS_NO=\033[31m NO \033[0m
  672. ANS_YES=\033[32m YES \033[0m
  673. mS=\033[33m[
  674. mZ=\033[30;1m[
  675. mE=]\033[0m
  676. tS=\033[36m
  677. tE=\033[0m
  678. else
  679. ANS_NO=" NO "
  680. ANS_YES=" YES "
  681. endif
  682. ifeq ($(DEFAULT_QT),4)
  683. FEV="Qt4"
  684. else
  685. FEV="Qt5"
  686. endif
  687. features:
  688. @echo "$(tS)---> Main features $(tE)"
  689. ifeq ($(HAVE_PYQT),true)
  690. @echo "Front-End: $(ANS_YES)(Using $(FEV))"
  691. ifneq ($(WIN32),true)
  692. @echo "LV2 plugin: $(ANS_YES)"
  693. else
  694. @echo "LV2 plugin: $(ANS_NO) $(mZ)Not available for Windows$(mE)"
  695. endif
  696. ifeq ($(LINUX),true)
  697. ifeq ($(HAVE_X11),true)
  698. @echo "VST plugin: $(ANS_YES)"
  699. else # HAVE_X11
  700. @echo "VST plugin: $(ANS_NO) $(mS)X11 missing$(mE)"
  701. endif
  702. else # LINUX
  703. @echo "VST plugin: $(ANS_NO) $(mZ)Linux only$(mE)"
  704. endif
  705. else
  706. @echo "Front-End: $(ANS_NO) $(mS)Missing PyQt$(mE)"
  707. @echo "LV2 plugin: $(ANS_NO) $(mS)No front-end$(mE)"
  708. @echo "VST plugin: $(ANS_NO) $(mS)No front-end$(mE)"
  709. endif
  710. ifeq ($(HAVE_HYLIA),true)
  711. @echo "Link support:$(ANS_YES)"
  712. else
  713. @echo "Link support:$(ANS_NO) $(mZ)Linux, MacOS and Windows only$(mE)"
  714. endif
  715. ifeq ($(HAVE_LIBLO),true)
  716. @echo "OSC support: $(ANS_YES)"
  717. else
  718. @echo "OSC support: $(ANS_NO) $(mS)Missing liblo$(mE)"
  719. endif
  720. @echo ""
  721. @echo "$(tS)---> Engine drivers $(tE)"
  722. @echo "JACK: $(ANS_YES)"
  723. ifeq ($(LINUX),true)
  724. ifeq ($(HAVE_ALSA),true)
  725. @echo "ALSA: $(ANS_YES)"
  726. else
  727. @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)"
  728. endif
  729. ifeq ($(HAVE_PULSEAUDIO),true)
  730. @echo "PulseAudio: $(ANS_YES)"
  731. else
  732. @echo "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)"
  733. endif
  734. else
  735. @echo "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)"
  736. @echo "PulseAudio: $(ANS_NO) $(mZ)Linux only$(mE)"
  737. endif
  738. ifeq ($(MACOS),true)
  739. @echo "CoreAudio: $(ANS_YES)"
  740. else
  741. @echo "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)"
  742. endif
  743. ifeq ($(WIN32),true)
  744. @echo "ASIO: $(ANS_YES)"
  745. @echo "DirectSound:$(ANS_YES)"
  746. else
  747. @echo "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)"
  748. @echo "DirectSound:$(ANS_NO) $(mZ)Windows only$(mE)"
  749. endif
  750. @echo ""
  751. @echo "$(tS)---> Plugin formats: $(tE)"
  752. @echo "Internal:$(ANS_YES)"
  753. @echo "LADSPA: $(ANS_YES)"
  754. @echo "DSSI: $(ANS_YES)"
  755. @echo "LV2: $(ANS_YES)"
  756. ifeq ($(MACOS_OR_WIN32),true)
  757. @echo "VST: $(ANS_YES)(with UI)"
  758. else
  759. ifeq ($(LINUX),true)
  760. ifeq ($(HAVE_X11),true)
  761. @echo "VST: $(ANS_YES)(with UI)"
  762. else
  763. @echo "VST: $(ANS_YES)(without UI) $(mS)Missing X11$(mE)"
  764. endif
  765. else # LINUX
  766. @echo "VST: $(ANS_YES)(without UI) $(mZ)Linux, Mac and Windows only$(mE)"
  767. endif
  768. endif
  769. ifeq ($(MACOS_OR_WIN32),true)
  770. @echo "VST3: $(ANS_YES)"
  771. else
  772. @echo "VST3: $(ANS_NO) $(mZ)Windows and MacOS only$(mE)"
  773. endif
  774. ifeq ($(MACOS),true)
  775. @echo "AU: $(ANS_YES)"
  776. else
  777. @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)"
  778. endif
  779. @echo ""
  780. @echo "$(tS)---> LV2 UI toolkit support: $(tE)"
  781. @echo "External:$(ANS_YES)(direct)"
  782. ifeq ($(LINUX),true)
  783. ifeq ($(HAVE_GTK2),true)
  784. @echo "Gtk2: $(ANS_YES)(bridge)"
  785. else
  786. @echo "Gtk2: $(ANS_NO) $(mS)Gtk2 missing$(mE)"
  787. endif
  788. ifeq ($(HAVE_GTK3),true)
  789. @echo "Gtk3: $(ANS_YES)(bridge)"
  790. else
  791. @echo "Gtk3: $(ANS_NO) $(mS)Gtk3 missing$(mE)"
  792. endif
  793. ifeq ($(HAVE_QT4),true)
  794. @echo "Qt4: $(ANS_YES)(bridge)"
  795. else
  796. @echo "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)"
  797. endif
  798. ifeq ($(HAVE_QT5),true)
  799. @echo "Qt5: $(ANS_YES)(bridge)"
  800. else
  801. @echo "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)"
  802. endif
  803. ifeq ($(HAVE_X11),true)
  804. @echo "X11: $(ANS_YES)(direct+bridge)"
  805. else
  806. @echo "X11: $(ANS_NO) $(mS)X11 missing$(mE)"
  807. endif
  808. else # LINUX
  809. @echo "Gtk2: $(ANS_NO) $(mZ)Linux only$(mE)"
  810. @echo "Gtk3: $(ANS_NO) $(mZ)Linux only$(mE)"
  811. @echo "Qt4: $(ANS_NO) $(mZ)Linux only$(mE)"
  812. @echo "Qt5: $(ANS_NO) $(mZ)Linux only$(mE)"
  813. @echo "X11: $(ANS_NO) $(mZ)Linux only$(mE)"
  814. endif # LINUX
  815. ifeq ($(MACOS),true)
  816. @echo "Cocoa: $(ANS_YES)(direct+bridge)"
  817. else
  818. @echo "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)"
  819. endif
  820. ifeq ($(WIN32),true)
  821. @echo "Windows: $(ANS_YES)(direct+bridge)"
  822. else
  823. @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)"
  824. endif
  825. @echo ""
  826. @echo "$(tS)---> File formats: $(tE)"
  827. ifeq ($(HAVE_LINUXSAMPLER),true)
  828. @echo "GIG:$(ANS_YES)"
  829. else
  830. @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing or too old$(mE)"
  831. endif
  832. ifeq ($(HAVE_FLUIDSYNTH),true)
  833. @echo "SF2:$(ANS_YES)"
  834. else
  835. @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)"
  836. endif
  837. ifeq ($(HAVE_LINUXSAMPLER),true)
  838. @echo "SFZ:$(ANS_YES)"
  839. else
  840. @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing or too old$(mE)"
  841. endif
  842. @echo ""
  843. @echo "$(tS)---> Internal plugins: $(tE)"
  844. ifneq ($(WIN32),true)
  845. @echo "Carla-Patchbay: $(ANS_YES)"
  846. @echo "Carla-Rack: $(ANS_YES)"
  847. else
  848. @echo "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  849. @echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  850. endif
  851. ifeq ($(HAVE_DGL),true)
  852. @echo "DISTRHO Plugins:$(ANS_YES)(with UI)"
  853. ifeq ($(HAVE_PROJECTM),true)
  854. @echo "DISTRHO ProM: $(ANS_YES)"
  855. else
  856. @echo "DISTRHO ProM: $(ANS_NO) (missing libprojectM)"
  857. endif
  858. else
  859. @echo "DISTRHO Plugins:$(ANS_YES)(without UI)"
  860. @echo "DISTRHO ProM: $(ANS_NO) (missing OpenGL)"
  861. endif
  862. ifeq ($(HAVE_ZYN_DEPS),true)
  863. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  864. ifeq ($(HAVE_NTK),true)
  865. @echo "ZynAddSubFX: $(ANS_YES)(with NTK UI)"
  866. else
  867. @echo "ZynAddSubFX: $(ANS_YES)(with FLTK UI)"
  868. endif
  869. else
  870. @echo "ZynAddSubFX: $(ANS_YES)(without UI) $(mS)FLTK or NTK missing$(mE)"
  871. endif
  872. else
  873. @echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"
  874. endif
  875. # ----------------------------------------------------------------------------------------------------------------------------
  876. .FORCE:
  877. .PHONY: .FORCE
  878. # ----------------------------------------------------------------------------------------------------------------------------