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