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
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
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
11 years ago
11 years ago
11 years ago
11 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024
  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 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.a: theme .FORCE
  90. @$(MAKE) -C source/theme
  91. $(MODULEDIR)/theme.qt4.a: theme .FORCE
  92. @$(MAKE) -C source/theme qt4
  93. $(MODULEDIR)/theme.qt5.a: theme .FORCE
  94. @$(MAKE) -C source/theme qt5
  95. $(MODULEDIR)/%.posix32.a: .FORCE
  96. @$(MAKE) -C source/modules/$* posix32
  97. $(MODULEDIR)/%.posix64.a: .FORCE
  98. @$(MAKE) -C source/modules/$* posix64
  99. $(MODULEDIR)/%.win32.a: .FORCE
  100. @$(MAKE) -C source/modules/$* win32
  101. $(MODULEDIR)/%.win64.a: .FORCE
  102. @$(MAKE) -C source/modules/$* win64
  103. $(MODULEDIR)/%.a: .FORCE
  104. @$(MAKE) -C source/modules/$*
  105. # ----------------------------------------------------------------------------------------------------------------------------
  106. backend: libs
  107. @$(MAKE) -C source/backend
  108. bridges-plugin: libs
  109. @$(MAKE) -C source/bridges-plugin
  110. bridges-ui: libs
  111. @$(MAKE) -C source/bridges-ui
  112. discovery: libs
  113. @$(MAKE) -C source/discovery
  114. interposer: libs
  115. @$(MAKE) -C source/interposer
  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/modules
  317. $(MAKE) clean -C source/native-plugins
  318. $(MAKE) clean -C source/plugin
  319. $(MAKE) clean -C source/theme
  320. rm -f $(RES)
  321. rm -f $(UIs)
  322. rm -f $(WIDGETS)
  323. rm -f *~ source/*~ source/*.pyc source/*_rc.py source/ui_*.py
  324. distclean: clean
  325. rm -f bin/*.exe bin/*.dll bin/*.dylib bin/*.so
  326. rm -rf build build-lv2
  327. debug:
  328. $(MAKE) DEBUG=true
  329. doxygen:
  330. $(MAKE) doxygen -C source/backend
  331. stoat:
  332. stoat --recursive ./build/ --suppression ./data/stoat-supression.txt --whitelist ./data/stoat-whitelist.txt --graph-view ./data/stoat-callgraph.png
  333. # stoat --recursive ./build/ \
  334. # --suppression ./data/stoat-supression.txt \
  335. # --whitelist ./data/stoat-whitelist.txt \
  336. # --graph-view ./data/stoat-callgraph.png
  337. # ----------------------------------------------------------------------------------------------------------------------------
  338. install:
  339. # Create directories
  340. install -d $(DESTDIR)$(BINDIR)
  341. install -d $(DESTDIR)$(LIBDIR)/carla
  342. install -d $(DESTDIR)$(LIBDIR)/pkgconfig
  343. install -d $(DESTDIR)$(LIBDIR)/python3/dist-packages
  344. install -d $(DESTDIR)$(DATADIR)/carla
  345. install -d $(DESTDIR)$(DATADIR)/carla/resources
  346. install -d $(DESTDIR)$(INCLUDEDIR)/carla
  347. install -d $(DESTDIR)$(INCLUDEDIR)/carla/includes
  348. install -d $(DESTDIR)$(INCLUDEDIR)/carla/utils
  349. ifeq ($(HAVE_PYQT),true)
  350. # Create directories (gui)
  351. install -d $(DESTDIR)$(LIBDIR)/carla/styles
  352. install -d $(DESTDIR)$(DATADIR)/applications
  353. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  354. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  355. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  356. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  357. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  358. install -d $(DESTDIR)$(DATADIR)/mime/packages
  359. endif
  360. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  361. # Create directories (experimental plugins)
  362. install -d $(DESTDIR)$(DATADIR)/carla/resources/at1
  363. install -d $(DESTDIR)$(DATADIR)/carla/resources/bls1
  364. install -d $(DESTDIR)$(DATADIR)/carla/resources/rev1
  365. endif
  366. ifeq ($(HAVE_ZYN_DEPS),true)
  367. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  368. # Create directories (zynaddsubfx)
  369. install -d $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  370. endif
  371. endif
  372. # --------------------------------------------------------------------------------------------------------------------
  373. # Install script files (non-gui)
  374. install -m 755 \
  375. data/carla-single \
  376. $(DESTDIR)$(BINDIR)
  377. # Adjust PREFIX value in script files (non-gui)
  378. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  379. $(DESTDIR)$(BINDIR)/carla-single
  380. # Install backend libs
  381. install -m 644 \
  382. bin/libcarla_*.* \
  383. $(DESTDIR)$(LIBDIR)/carla
  384. # Install other binaries
  385. install -m 755 \
  386. bin/*bridge-* \
  387. bin/carla-discovery-* \
  388. $(DESTDIR)$(LIBDIR)/carla
  389. # Install pkg-config files
  390. install -m 644 \
  391. data/*.pc \
  392. $(DESTDIR)$(LIBDIR)/pkgconfig
  393. # Adjust PREFIX, LIBDIR and INCLUDEDIR in pkg-config files
  394. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  395. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  396. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  397. sed -i 's?X-LIBDIR-X?$(LIBDIR)?' \
  398. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  399. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  400. sed -i 's?X-INCLUDEDIR-X?$(INCLUDEDIR)?' \
  401. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  402. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  403. # Install python code (dist-packages)
  404. install -m 644 \
  405. source/carla_backend.py \
  406. source/carla_utils.py \
  407. $(DESTDIR)$(LIBDIR)/python3/dist-packages
  408. # Install headers
  409. install -m 644 \
  410. source/backend/CarlaBackend.h \
  411. source/backend/CarlaHost.h \
  412. source/backend/CarlaUtils.h \
  413. source/backend/CarlaEngine.hpp \
  414. source/backend/CarlaPlugin.hpp \
  415. source/includes/CarlaNative.h \
  416. $(DESTDIR)$(INCLUDEDIR)/carla
  417. install -m 644 \
  418. source/includes/CarlaDefines.h \
  419. source/includes/CarlaMIDI.h \
  420. $(DESTDIR)$(INCLUDEDIR)/carla/includes
  421. install -m 644 \
  422. source/utils/CarlaUtils.hpp \
  423. source/utils/CarlaJuceUtils.hpp \
  424. source/utils/CarlaMathUtils.hpp \
  425. source/utils/CarlaPipeUtils.hpp \
  426. source/utils/CarlaPipeUtils.cpp \
  427. source/utils/CarlaExternalUI.hpp \
  428. source/utils/CarlaMutex.hpp \
  429. source/utils/CarlaString.hpp \
  430. $(DESTDIR)$(INCLUDEDIR)/carla/utils
  431. # --------------------------------------------------------------------------------------------------------------------
  432. ifeq ($(HAVE_PYQT),true)
  433. # Install script files (gui)
  434. install -m 755 \
  435. data/carla \
  436. data/carla-database \
  437. data/carla-jack-multi \
  438. data/carla-jack-single \
  439. data/carla-patchbay \
  440. data/carla-rack \
  441. data/carla-settings \
  442. $(DESTDIR)$(BINDIR)
  443. # Adjust PREFIX value in script files (gui)
  444. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  445. $(DESTDIR)$(BINDIR)/carla \
  446. $(DESTDIR)$(BINDIR)/carla-database \
  447. $(DESTDIR)$(BINDIR)/carla-jack-multi \
  448. $(DESTDIR)$(BINDIR)/carla-jack-single \
  449. $(DESTDIR)$(BINDIR)/carla-patchbay \
  450. $(DESTDIR)$(BINDIR)/carla-rack \
  451. $(DESTDIR)$(BINDIR)/carla-settings
  452. ifeq ($(HAVE_LIBLO),true)
  453. install -m 755 \
  454. data/carla-control \
  455. $(DESTDIR)$(BINDIR)
  456. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  457. $(DESTDIR)$(BINDIR)/carla-control
  458. endif
  459. # Install the real modgui bridge
  460. install -m 755 \
  461. data/carla-bridge-lv2-modgui \
  462. $(DESTDIR)$(LIBDIR)/carla
  463. # Adjust PREFIX value in modgui bridge
  464. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  465. $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  466. # Install python code (gui)
  467. install -m 644 \
  468. source/carla \
  469. source/carla-control \
  470. source/carla-jack-multi \
  471. source/carla-jack-single \
  472. source/carla-patchbay \
  473. source/carla-rack \
  474. source/*.py \
  475. $(DESTDIR)$(DATADIR)/carla
  476. # Adjust LIBDIR and DATADIR value in python code
  477. sed -i 's?X_LIBDIR_X = None?X_LIBDIR_X = "$(LIBDIR)"?' \
  478. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  479. sed -i 's?X_DATADIR_X = None?X_DATADIR_X = "$(DATADIR)"?' \
  480. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  481. # Install resources (gui)
  482. install -m 755 \
  483. bin/resources/carla-plugin \
  484. bin/resources/carla-plugin-patchbay \
  485. bin/resources/*-ui \
  486. $(DESTDIR)$(DATADIR)/carla/resources
  487. ifeq ($(HAVE_THEME),true)
  488. # Install theme
  489. install -m 644 \
  490. bin/styles/* \
  491. $(DESTDIR)$(LIBDIR)/carla/styles
  492. endif
  493. # Install desktop files
  494. install -m 644 data/carla.desktop $(DESTDIR)$(DATADIR)/applications
  495. ifeq ($(HAVE_LIBLO),true)
  496. install -m 644 data/carla-control.desktop $(DESTDIR)$(DATADIR)/applications
  497. endif
  498. # Install mime package
  499. install -m 644 data/carla.xml $(DESTDIR)$(DATADIR)/mime/packages
  500. # Install icons, 16x16
  501. install -m 644 resources/16x16/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  502. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  503. # Install icons, 48x48
  504. install -m 644 resources/48x48/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  505. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  506. # Install icons, 128x128
  507. install -m 644 resources/128x128/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  508. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  509. # Install icons, 256x256
  510. install -m 644 resources/256x256/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  511. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  512. # Install icons, scalable
  513. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  514. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  515. # Install resources (re-use python files)
  516. $(LINK) $(DATADIR)/carla/carla_app.py $(DESTDIR)$(DATADIR)/carla/resources
  517. $(LINK) $(DATADIR)/carla/carla_backend.py $(DESTDIR)$(DATADIR)/carla/resources
  518. $(LINK) $(DATADIR)/carla/carla_backend_qt.py $(DESTDIR)$(DATADIR)/carla/resources
  519. $(LINK) $(DATADIR)/carla/carla_config.py $(DESTDIR)$(DATADIR)/carla/resources
  520. $(LINK) $(DATADIR)/carla/carla_control.py $(DESTDIR)$(DATADIR)/carla/resources
  521. $(LINK) $(DATADIR)/carla/carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  522. $(LINK) $(DATADIR)/carla/carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  523. $(LINK) $(DATADIR)/carla/carla_modgui.py $(DESTDIR)$(DATADIR)/carla/resources
  524. $(LINK) $(DATADIR)/carla/carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  525. $(LINK) $(DATADIR)/carla/carla_skin.py $(DESTDIR)$(DATADIR)/carla/resources
  526. $(LINK) $(DATADIR)/carla/carla_shared.py $(DESTDIR)$(DATADIR)/carla/resources
  527. $(LINK) $(DATADIR)/carla/carla_utils.py $(DESTDIR)$(DATADIR)/carla/resources
  528. $(LINK) $(DATADIR)/carla/carla_widgets.py $(DESTDIR)$(DATADIR)/carla/resources
  529. $(LINK) $(DATADIR)/carla/canvaspreviewframe.py $(DESTDIR)$(DATADIR)/carla/resources
  530. $(LINK) $(DATADIR)/carla/digitalpeakmeter.py $(DESTDIR)$(DATADIR)/carla/resources
  531. $(LINK) $(DATADIR)/carla/draggablegraphicsview.py $(DESTDIR)$(DATADIR)/carla/resources
  532. $(LINK) $(DATADIR)/carla/externalui.py $(DESTDIR)$(DATADIR)/carla/resources
  533. $(LINK) $(DATADIR)/carla/ledbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  534. $(LINK) $(DATADIR)/carla/paramspinbox.py $(DESTDIR)$(DATADIR)/carla/resources
  535. $(LINK) $(DATADIR)/carla/patchcanvas.py $(DESTDIR)$(DATADIR)/carla/resources
  536. $(LINK) $(DATADIR)/carla/patchcanvas_theme.py $(DESTDIR)$(DATADIR)/carla/resources
  537. $(LINK) $(DATADIR)/carla/pianoroll.py $(DESTDIR)$(DATADIR)/carla/resources
  538. $(LINK) $(DATADIR)/carla/pixmapbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  539. $(LINK) $(DATADIR)/carla/pixmapdial.py $(DESTDIR)$(DATADIR)/carla/resources
  540. $(LINK) $(DATADIR)/carla/pixmapkeyboard.py $(DESTDIR)$(DATADIR)/carla/resources
  541. $(LINK) $(DATADIR)/carla/racklistwidget.py $(DESTDIR)$(DATADIR)/carla/resources
  542. $(LINK) $(DATADIR)/carla/resources_rc.py $(DESTDIR)$(DATADIR)/carla/resources
  543. $(LINK) $(DATADIR)/carla/ui_carla_about.py $(DESTDIR)$(DATADIR)/carla/resources
  544. $(LINK) $(DATADIR)/carla/ui_carla_about_juce.py $(DESTDIR)$(DATADIR)/carla/resources
  545. $(LINK) $(DATADIR)/carla/ui_carla_add_jack.py $(DESTDIR)$(DATADIR)/carla/resources
  546. $(LINK) $(DATADIR)/carla/ui_carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  547. $(LINK) $(DATADIR)/carla/ui_carla_edit.py $(DESTDIR)$(DATADIR)/carla/resources
  548. $(LINK) $(DATADIR)/carla/ui_carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  549. $(LINK) $(DATADIR)/carla/ui_carla_parameter.py $(DESTDIR)$(DATADIR)/carla/resources
  550. $(LINK) $(DATADIR)/carla/ui_carla_plugin_calf.py $(DESTDIR)$(DATADIR)/carla/resources
  551. $(LINK) $(DATADIR)/carla/ui_carla_plugin_classic.py $(DESTDIR)$(DATADIR)/carla/resources
  552. $(LINK) $(DATADIR)/carla/ui_carla_plugin_compact.py $(DESTDIR)$(DATADIR)/carla/resources
  553. $(LINK) $(DATADIR)/carla/ui_carla_plugin_default.py $(DESTDIR)$(DATADIR)/carla/resources
  554. $(LINK) $(DATADIR)/carla/ui_carla_plugin_presets.py $(DESTDIR)$(DATADIR)/carla/resources
  555. $(LINK) $(DATADIR)/carla/ui_carla_refresh.py $(DESTDIR)$(DATADIR)/carla/resources
  556. $(LINK) $(DATADIR)/carla/ui_carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  557. $(LINK) $(DATADIR)/carla/ui_carla_settings_driver.py $(DESTDIR)$(DATADIR)/carla/resources
  558. $(LINK) $(DATADIR)/carla/ui_inputdialog_value.py $(DESTDIR)$(DATADIR)/carla/resources
  559. $(LINK) $(DATADIR)/carla/ui_midipattern.py $(DESTDIR)$(DATADIR)/carla/resources
  560. endif
  561. # --------------------------------------------------------------------------------------------------------------------
  562. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  563. # Install resources (experimental plugins)
  564. install -m 644 \
  565. bin/resources/at1/*.png \
  566. $(DESTDIR)$(DATADIR)/carla/resources/at1
  567. install -m 644 \
  568. bin/resources/bls1/*.png \
  569. $(DESTDIR)$(DATADIR)/carla/resources/bls1
  570. install -m 644 \
  571. bin/resources/rev1/*.png \
  572. $(DESTDIR)$(DATADIR)/carla/resources/rev1
  573. install -m 755 \
  574. bin/resources/at1-ui \
  575. bin/resources/bls1-ui \
  576. bin/resources/rev1-ui \
  577. $(DESTDIR)$(DATADIR)/carla/resources
  578. endif
  579. ifeq ($(HAVE_ZYN_DEPS),true)
  580. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  581. # Install resources (zynaddsubfx)
  582. install -m 644 \
  583. bin/resources/zynaddsubfx/*.png \
  584. $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  585. install -m 755 \
  586. bin/resources/zynaddsubfx-ui \
  587. $(DESTDIR)$(DATADIR)/carla/resources
  588. endif
  589. endif
  590. # --------------------------------------------------------------------------------------------------------------------
  591. # Install lv2 plugin
  592. install -d $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  593. install -m 644 \
  594. bin/carla.lv2/carla.* \
  595. bin/carla.lv2/*.ttl \
  596. $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  597. # Link binaries for lv2 plugin
  598. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  599. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/$$i; \
  600. done
  601. rm -f $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/libcarla_standalone2.*
  602. # Link resources for lv2 plugin
  603. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  604. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  605. ifeq ($(HAVE_PYQT),true)
  606. # Link styles for lv2 plugin
  607. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  608. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  609. endif
  610. # --------------------------------------------------------------------------------------------------------------------
  611. ifeq ($(LINUX),true)
  612. ifeq ($(HAVE_X11),true)
  613. ifeq ($(HAVE_PYQT),true)
  614. # Install vst plugin
  615. install -d $(DESTDIR)$(LIBDIR)/vst/carla.vst
  616. install -m 644 \
  617. bin/CarlaRack*.* \
  618. bin/CarlaPatchbay*.* \
  619. $(DESTDIR)$(LIBDIR)/vst/carla.vst
  620. # Link binaries for vst plugin
  621. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  622. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/vst/carla.vst/$$i; \
  623. done
  624. rm -f $(DESTDIR)$(LIBDIR)/vst/carla.vst/libcarla_standalone2.*
  625. # Link resources for vst plugin
  626. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  627. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  628. # Link styles for vst plugin
  629. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  630. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  631. endif
  632. endif
  633. endif
  634. # --------------------------------------------------------------------------------------------------------------------
  635. ifneq ($(HAVE_PYQT),true)
  636. # Remove gui files for non-gui build
  637. rm $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  638. rm $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/carla-bridge-lv2-modgui
  639. endif
  640. # ----------------------------------------------------------------------------------------------------------------------------
  641. uninstall:
  642. rm -f $(DESTDIR)$(BINDIR)/carla*
  643. rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc
  644. rm -f $(DESTDIR)$(DATADIR)/applications/carla.desktop
  645. rm -f $(DESTDIR)$(DATADIR)/applications/carla-control.desktop
  646. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla.png
  647. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla-control.png
  648. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla.svg
  649. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla-control.svg
  650. rm -f $(DESTDIR)$(DATADIR)/mime/packages/carla.xml
  651. rm -rf $(DESTDIR)$(LIBDIR)/carla
  652. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  653. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla-native.lv2
  654. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst
  655. rm -rf $(DESTDIR)$(DATADIR)/carla
  656. rm -rf $(DESTDIR)$(INCLUDEDIR)/carla
  657. # ----------------------------------------------------------------------------------------------------------------------------
  658. USE_COLORS=true
  659. ifeq ($(HAIKU),true)
  660. USE_COLORS=false
  661. endif
  662. ifeq ($(USE_COLORS),true)
  663. ANS_NO=\033[31m NO \033[0m
  664. ANS_YES=\033[32m YES \033[0m
  665. mS=\033[33m[
  666. mZ=\033[30;1m[
  667. mE=]\033[0m
  668. tS=\033[36m
  669. tE=\033[0m
  670. else
  671. ANS_NO=" NO "
  672. ANS_YES=" YES "
  673. endif
  674. ifeq ($(DEFAULT_QT),4)
  675. FEV="Qt4"
  676. else
  677. FEV="Qt5"
  678. endif
  679. features:
  680. @echo "$(tS)---> Main features $(tE)"
  681. ifeq ($(HAVE_PYQT),true)
  682. @echo "Front-End: $(ANS_YES)(Using $(FEV))"
  683. ifneq ($(WIN32),true)
  684. @echo "LV2 plugin: $(ANS_YES)"
  685. else
  686. @echo "LV2 plugin: $(ANS_NO) $(mZ)Not available for Windows$(mE)"
  687. endif
  688. ifeq ($(LINUX),true)
  689. ifeq ($(HAVE_X11),true)
  690. @echo "VST plugin: $(ANS_YES)"
  691. else # HAVE_X11
  692. @echo "VST plugin: $(ANS_NO) $(mS)X11 missing$(mE)"
  693. endif
  694. else # LINUX
  695. @echo "VST plugin: $(ANS_NO) $(mZ)Linux only$(mE)"
  696. endif
  697. else
  698. @echo "Front-End: $(ANS_NO) $(mS)Missing PyQt$(mE)"
  699. @echo "LV2 plugin: $(ANS_NO) $(mS)No front-end$(mE)"
  700. @echo "VST plugin: $(ANS_NO) $(mS)No front-end$(mE)"
  701. endif
  702. ifeq ($(HAVE_HYLIA),true)
  703. @echo "Link support:$(ANS_YES)"
  704. else
  705. @echo "Link support:$(ANS_NO) $(mZ)Linux, MacOS and Windows only$(mE)"
  706. endif
  707. ifeq ($(HAVE_LIBLO),true)
  708. @echo "OSC support: $(ANS_YES)"
  709. else
  710. @echo "OSC support: $(ANS_NO) $(mS)Missing liblo$(mE)"
  711. endif
  712. @echo ""
  713. @echo "$(tS)---> Engine drivers $(tE)"
  714. @echo "JACK: $(ANS_YES)"
  715. ifeq ($(LINUX),true)
  716. ifeq ($(HAVE_ALSA),true)
  717. @echo "ALSA: $(ANS_YES)"
  718. else
  719. @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)"
  720. endif
  721. ifeq ($(HAVE_PULSEAUDIO),true)
  722. @echo "PulseAudio: $(ANS_YES)"
  723. else
  724. @echo "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)"
  725. endif
  726. else
  727. @echo "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)"
  728. @echo "PulseAudio: $(ANS_NO) $(mZ)Linux only$(mE)"
  729. endif
  730. ifeq ($(MACOS),true)
  731. @echo "CoreAudio: $(ANS_YES)"
  732. else
  733. @echo "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)"
  734. endif
  735. ifeq ($(WIN32),true)
  736. @echo "ASIO: $(ANS_YES)"
  737. @echo "DirectSound:$(ANS_YES)"
  738. else
  739. @echo "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)"
  740. @echo "DirectSound:$(ANS_NO) $(mZ)Windows only$(mE)"
  741. endif
  742. @echo ""
  743. @echo "$(tS)---> Plugin formats: $(tE)"
  744. @echo "Internal:$(ANS_YES)"
  745. @echo "LADSPA: $(ANS_YES)"
  746. @echo "DSSI: $(ANS_YES)"
  747. @echo "LV2: $(ANS_YES)"
  748. ifeq ($(MACOS_OR_WIN32),true)
  749. @echo "VST: $(ANS_YES)(with UI)"
  750. else
  751. ifeq ($(LINUX),true)
  752. ifeq ($(HAVE_X11),true)
  753. @echo "VST: $(ANS_YES)(with UI)"
  754. else
  755. @echo "VST: $(ANS_YES)(without UI) $(mS)Missing X11$(mE)"
  756. endif
  757. else # LINUX
  758. @echo "VST: $(ANS_YES)(without UI) $(mZ)Linux, Mac and Windows only$(mE)"
  759. endif
  760. endif
  761. ifeq ($(MACOS_OR_WIN32),true)
  762. @echo "VST3: $(ANS_YES)"
  763. else
  764. @echo "VST3: $(ANS_NO) $(mZ)Windows and MacOS only$(mE)"
  765. endif
  766. ifeq ($(MACOS),true)
  767. @echo "AU: $(ANS_YES)"
  768. else
  769. @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)"
  770. endif
  771. @echo ""
  772. @echo "$(tS)---> LV2 UI toolkit support: $(tE)"
  773. @echo "External:$(ANS_YES)(direct)"
  774. ifeq ($(LINUX),true)
  775. ifeq ($(HAVE_GTK2),true)
  776. @echo "Gtk2: $(ANS_YES)(bridge)"
  777. else
  778. @echo "Gtk2: $(ANS_NO) $(mS)Gtk2 missing$(mE)"
  779. endif
  780. ifeq ($(HAVE_GTK3),true)
  781. @echo "Gtk3: $(ANS_YES)(bridge)"
  782. else
  783. @echo "Gtk3: $(ANS_NO) $(mS)Gtk3 missing$(mE)"
  784. endif
  785. ifeq ($(HAVE_QT4),true)
  786. @echo "Qt4: $(ANS_YES)(bridge)"
  787. else
  788. @echo "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)"
  789. endif
  790. ifeq ($(HAVE_QT5),true)
  791. @echo "Qt5: $(ANS_YES)(bridge)"
  792. else
  793. @echo "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)"
  794. endif
  795. ifeq ($(HAVE_X11),true)
  796. @echo "X11: $(ANS_YES)(direct+bridge)"
  797. else
  798. @echo "X11: $(ANS_NO) $(mS)X11 missing$(mE)"
  799. endif
  800. else # LINUX
  801. @echo "Gtk2: $(ANS_NO) $(mZ)Linux only$(mE)"
  802. @echo "Gtk3: $(ANS_NO) $(mZ)Linux only$(mE)"
  803. @echo "Qt4: $(ANS_NO) $(mZ)Linux only$(mE)"
  804. @echo "Qt5: $(ANS_NO) $(mZ)Linux only$(mE)"
  805. @echo "X11: $(ANS_NO) $(mZ)Linux only$(mE)"
  806. endif # LINUX
  807. ifeq ($(MACOS),true)
  808. @echo "Cocoa: $(ANS_YES)(direct+bridge)"
  809. else
  810. @echo "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)"
  811. endif
  812. ifeq ($(WIN32),true)
  813. @echo "Windows: $(ANS_YES)(direct+bridge)"
  814. else
  815. @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)"
  816. endif
  817. @echo ""
  818. @echo "$(tS)---> File formats: $(tE)"
  819. ifeq ($(HAVE_LINUXSAMPLER),true)
  820. @echo "GIG:$(ANS_YES)"
  821. else
  822. @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing or too old$(mE)"
  823. endif
  824. ifeq ($(HAVE_FLUIDSYNTH),true)
  825. @echo "SF2:$(ANS_YES)"
  826. else
  827. @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)"
  828. endif
  829. ifeq ($(HAVE_LINUXSAMPLER),true)
  830. @echo "SFZ:$(ANS_YES)"
  831. else
  832. @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing or too old$(mE)"
  833. endif
  834. @echo ""
  835. @echo "$(tS)---> Internal plugins: $(tE)"
  836. ifneq ($(WIN32),true)
  837. @echo "Carla-Patchbay: $(ANS_YES)"
  838. @echo "Carla-Rack: $(ANS_YES)"
  839. else
  840. @echo "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  841. @echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  842. endif
  843. ifeq ($(HAVE_DGL),true)
  844. @echo "DISTRHO Plugins:$(ANS_YES)(with UI)"
  845. ifneq ($(HAVE_PROJECTM),true)
  846. @echo "DISTRHO ProM: $(ANS_YES)"
  847. else
  848. @echo "DISTRHO ProM: $(ANS_NO) (missing libprojectM)"
  849. endif
  850. else
  851. @echo "DISTRHO Plugins:$(ANS_YES)(without UI)"
  852. @echo "DISTRHO ProM: $(ANS_NO) (missing OpenGL)"
  853. endif
  854. ifeq ($(HAVE_ZYN_DEPS),true)
  855. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  856. ifeq ($(HAVE_NTK),true)
  857. @echo "ZynAddSubFX: $(ANS_YES)(with NTK UI)"
  858. else
  859. @echo "ZynAddSubFX: $(ANS_YES)(with FLTK UI)"
  860. endif
  861. else
  862. @echo "ZynAddSubFX: $(ANS_YES)(without UI) $(mS)FLTK or NTK missing$(mE)"
  863. endif
  864. else
  865. @echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"
  866. endif
  867. # ----------------------------------------------------------------------------------------------------------------------------
  868. .FORCE:
  869. .PHONY: .FORCE
  870. # ----------------------------------------------------------------------------------------------------------------------------