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
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  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 ($(HAVE_HYLIA),true)
  54. ALL_LIBS += $(MODULEDIR)/hylia.a
  55. endif
  56. ifeq ($(MACOS_OR_WIN32),true)
  57. ALL_LIBS += $(MODULEDIR)/juce_audio_devices.a
  58. ALL_LIBS += $(MODULEDIR)/juce_audio_processors.a
  59. ALL_LIBS += $(MODULEDIR)/juce_data_structures.a
  60. ALL_LIBS += $(MODULEDIR)/juce_events.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: .FORCE
  90. @$(MAKE) -C source/theme
  91. $(MODULEDIR)/theme.qt4.a: .FORCE
  92. @$(MAKE) -C source/theme qt4
  93. $(MODULEDIR)/theme.qt5.a: .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:
  115. @$(MAKE) -C source/interposer
  116. plugin: backend bridges-plugin bridges-ui discovery
  117. @$(MAKE) -C source/plugin
  118. theme:
  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)/lilv.posix32.a
  126. LIBS_POSIX32 += $(MODULEDIR)/rtmempool.posix32.a
  127. ifeq ($(MACOS),true)
  128. LIBS_POSIX32 += $(MODULEDIR)/juce_audio_processors.posix32.a
  129. LIBS_POSIX32 += $(MODULEDIR)/juce_data_structures.posix32.a
  130. LIBS_POSIX32 += $(MODULEDIR)/juce_events.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)/lilv.posix64.a
  144. LIBS_POSIX64 += $(MODULEDIR)/rtmempool.posix64.a
  145. ifeq ($(MACOS),true)
  146. LIBS_POSIX64 += $(MODULEDIR)/juce_audio_processors.posix64.a
  147. LIBS_POSIX64 += $(MODULEDIR)/juce_data_structures.posix64.a
  148. LIBS_POSIX64 += $(MODULEDIR)/juce_events.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_panels.py \
  214. bin/resources/carla_settings.py \
  215. bin/resources/carla_skin.py \
  216. bin/resources/carla_shared.py \
  217. bin/resources/carla_utils.py \
  218. bin/resources/carla_widgets.py \
  219. bin/resources/canvaspreviewframe.py \
  220. bin/resources/digitalpeakmeter.py \
  221. bin/resources/draggablegraphicsview.py \
  222. bin/resources/externalui.py \
  223. bin/resources/ledbutton.py \
  224. bin/resources/paramspinbox.py \
  225. bin/resources/patchcanvas.py \
  226. bin/resources/patchcanvas_theme.py \
  227. bin/resources/pianoroll.py \
  228. bin/resources/pixmapbutton.py \
  229. bin/resources/pixmapdial.py \
  230. bin/resources/pixmapkeyboard.py \
  231. bin/resources/racklistwidget.py \
  232. bin/resources/resources_rc.py \
  233. bin/resources/ui_carla_about.py \
  234. bin/resources/ui_carla_about_juce.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_panel_time.py \
  239. bin/resources/ui_carla_parameter.py \
  240. bin/resources/ui_carla_plugin_calf.py \
  241. bin/resources/ui_carla_plugin_classic.py \
  242. bin/resources/ui_carla_plugin_compact.py \
  243. bin/resources/ui_carla_plugin_default.py \
  244. bin/resources/ui_carla_plugin_presets.py \
  245. bin/resources/ui_carla_refresh.py \
  246. bin/resources/ui_carla_settings.py \
  247. bin/resources/ui_carla_settings_driver.py \
  248. bin/resources/ui_inputdialog_value.py \
  249. bin/resources/ui_midipattern.py \
  250. source/carla_config.py \
  251. source/resources_rc.py
  252. RES: $(RES)
  253. source/carla_config.py:
  254. @echo "#!/usr/bin/env python3" > $@
  255. @echo "# -*- coding: utf-8 -*-" >> $@
  256. ifeq ($(DEFAULT_QT),4)
  257. @echo "config_UseQt5 = False" >> $@
  258. else
  259. @echo "config_UseQt5 = True" >> $@
  260. endif
  261. source/resources_rc.py: resources/resources.qrc resources/*/*.png resources/*/*.svg
  262. $(PYRCC) $< -o $@
  263. bin/resources/%.py: source/%.py
  264. $(LINK) $(CURDIR)/source/$*.py bin/resources/
  265. else
  266. RES:
  267. endif
  268. # ----------------------------------------------------------------------------------------------------------------------------
  269. # UI code
  270. ifeq ($(HAVE_PYQT),true)
  271. UIs = \
  272. source/ui_carla_about.py \
  273. source/ui_carla_about_juce.py \
  274. source/ui_carla_database.py \
  275. source/ui_carla_edit.py \
  276. source/ui_carla_host.py \
  277. source/ui_carla_panel_time.py \
  278. source/ui_carla_parameter.py \
  279. source/ui_carla_plugin_calf.py \
  280. source/ui_carla_plugin_classic.py \
  281. source/ui_carla_plugin_compact.py \
  282. source/ui_carla_plugin_default.py \
  283. source/ui_carla_plugin_presets.py \
  284. source/ui_carla_refresh.py \
  285. source/ui_carla_settings.py \
  286. source/ui_carla_settings_driver.py \
  287. source/ui_inputdialog_value.py \
  288. source/ui_midipattern.py
  289. UI: $(UIs)
  290. source/ui_%.py: resources/ui/%.ui
  291. $(PYUIC) $< -o $@
  292. else
  293. UI:
  294. endif
  295. # ----------------------------------------------------------------------------------------------------------------------------
  296. # Widgets
  297. WIDGETS = \
  298. source/canvaspreviewframe.py \
  299. source/digitalpeakmeter.py \
  300. source/draggablegraphicsview.py \
  301. source/ledbutton.py \
  302. source/paramspinbox.py \
  303. source/pianoroll.py \
  304. source/pixmapbutton.py \
  305. source/pixmapdial.py \
  306. source/pixmapkeyboard.py \
  307. source/racklistwidget.py
  308. WIDGETS: $(WIDGETS)
  309. source/%.py: source/widgets/%.py
  310. $(LINK) widgets/$*.py $@
  311. # ----------------------------------------------------------------------------------------------------------------------------
  312. clean:
  313. $(MAKE) clean -C source/backend
  314. $(MAKE) clean -C source/bridges-plugin
  315. $(MAKE) clean -C source/bridges-ui
  316. $(MAKE) clean -C source/discovery
  317. $(MAKE) clean -C source/modules
  318. $(MAKE) clean -C source/native-plugins
  319. $(MAKE) clean -C source/plugin
  320. $(MAKE) clean -C source/theme
  321. rm -f $(RES)
  322. rm -f $(UIs)
  323. rm -f $(WIDGETS)
  324. rm -f *~ source/*~ source/*.pyc source/*_rc.py source/ui_*.py
  325. distclean: clean
  326. rm -f bin/*.exe bin/*.dll bin/*.dylib bin/*.so
  327. rm -rf build build-lv2
  328. debug:
  329. $(MAKE) DEBUG=true
  330. doxygen:
  331. $(MAKE) doxygen -C source/backend
  332. stoat:
  333. stoat --recursive ./build/ --suppression ./data/stoat-supression.txt --whitelist ./data/stoat-whitelist.txt --graph-view ./data/stoat-callgraph.png
  334. # stoat --recursive ./build/ \
  335. # --suppression ./data/stoat-supression.txt \
  336. # --whitelist ./data/stoat-whitelist.txt \
  337. # --graph-view ./data/stoat-callgraph.png
  338. # ----------------------------------------------------------------------------------------------------------------------------
  339. install:
  340. # Create directories
  341. install -d $(DESTDIR)$(BINDIR)
  342. install -d $(DESTDIR)$(LIBDIR)
  343. install -d $(DESTDIR)$(LIBDIR)/carla
  344. install -d $(DESTDIR)$(LIBDIR)/pkgconfig
  345. install -d $(DESTDIR)$(LIBDIR)/python3/dist-packages
  346. install -d $(DESTDIR)$(DATADIR)
  347. install -d $(DESTDIR)$(DATADIR)/carla
  348. install -d $(DESTDIR)$(INCLUDEDIR)
  349. install -d $(DESTDIR)$(INCLUDEDIR)/carla
  350. install -d $(DESTDIR)$(INCLUDEDIR)/carla/includes
  351. install -d $(DESTDIR)$(INCLUDEDIR)/carla/utils
  352. ifeq ($(HAVE_PYQT),true)
  353. # Create directories (gui)
  354. install -d $(DESTDIR)$(LIBDIR)/carla/styles
  355. install -d $(DESTDIR)$(DATADIR)/applications
  356. install -d $(DESTDIR)$(DATADIR)/carla/resources
  357. install -d $(DESTDIR)$(DATADIR)/icons
  358. install -d $(DESTDIR)$(DATADIR)/icons/hicolor
  359. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/16x16
  360. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  361. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/48x48
  362. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  363. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/128x128
  364. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  365. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/256x256
  366. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  367. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/scalable
  368. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  369. install -d $(DESTDIR)$(DATADIR)/mime
  370. install -d $(DESTDIR)$(DATADIR)/mime/packages
  371. endif
  372. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  373. # Create directories (experimental plugins)
  374. install -d $(DESTDIR)$(DATADIR)/carla/resources/at1
  375. install -d $(DESTDIR)$(DATADIR)/carla/resources/bls1
  376. install -d $(DESTDIR)$(DATADIR)/carla/resources/rev1
  377. endif
  378. ifeq ($(HAVE_ZYN_DEPS),true)
  379. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  380. # Create directories (zynaddsubfx)
  381. install -d $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  382. endif
  383. endif
  384. # --------------------------------------------------------------------------------------------------------------------
  385. # Install script files (non-gui)
  386. install -m 755 \
  387. data/carla-single \
  388. $(DESTDIR)$(BINDIR)
  389. # Adjust PREFIX value in script files (non-gui)
  390. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  391. $(DESTDIR)$(BINDIR)/carla-single
  392. # Install backend libs
  393. install -m 644 \
  394. bin/libcarla_*.* \
  395. $(DESTDIR)$(LIBDIR)/carla
  396. # Install other binaries
  397. install -m 755 \
  398. bin/*bridge-* \
  399. bin/carla-discovery-* \
  400. $(DESTDIR)$(LIBDIR)/carla
  401. # Install pkg-config files
  402. install -m 644 \
  403. data/*.pc \
  404. $(DESTDIR)$(LIBDIR)/pkgconfig
  405. # Adjust PREFIX, LIBDIR and INCLUDEDIR in pkg-config files
  406. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  407. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  408. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  409. sed -i 's?X-LIBDIR-X?$(LIBDIR)?' \
  410. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  411. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  412. sed -i 's?X-INCLUDEDIR-X?$(INCLUDEDIR)?' \
  413. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  414. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  415. # Install python code (dist-packages)
  416. install -m 644 \
  417. source/carla_backend.py \
  418. source/carla_utils.py \
  419. $(DESTDIR)$(LIBDIR)/python3/dist-packages
  420. # Install headers
  421. install -m 644 \
  422. source/backend/CarlaBackend.h \
  423. source/backend/CarlaHost.h \
  424. source/backend/CarlaUtils.h \
  425. source/backend/CarlaEngine.hpp \
  426. source/backend/CarlaPlugin.hpp \
  427. source/includes/CarlaNative.h \
  428. $(DESTDIR)$(INCLUDEDIR)/carla
  429. install -m 644 \
  430. source/includes/CarlaDefines.h \
  431. source/includes/CarlaMIDI.h \
  432. $(DESTDIR)$(INCLUDEDIR)/carla/includes
  433. install -m 644 \
  434. source/utils/CarlaUtils.hpp \
  435. source/utils/CarlaJuceUtils.hpp \
  436. source/utils/CarlaMathUtils.hpp \
  437. source/utils/CarlaPipeUtils.hpp \
  438. source/utils/CarlaPipeUtils.cpp \
  439. source/utils/CarlaExternalUI.hpp \
  440. source/utils/CarlaMutex.hpp \
  441. source/utils/CarlaString.hpp \
  442. $(DESTDIR)$(INCLUDEDIR)/carla/utils
  443. # --------------------------------------------------------------------------------------------------------------------
  444. ifeq ($(HAVE_PYQT),true)
  445. # Install script files (gui)
  446. install -m 755 \
  447. data/carla \
  448. data/carla-control \
  449. data/carla-database \
  450. data/carla-jack-multi \
  451. data/carla-jack-single \
  452. data/carla-patchbay \
  453. data/carla-rack \
  454. data/carla-settings \
  455. $(DESTDIR)$(BINDIR)
  456. # Adjust PREFIX value in script files (gui)
  457. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  458. $(DESTDIR)$(BINDIR)/carla \
  459. $(DESTDIR)$(BINDIR)/carla-control \
  460. $(DESTDIR)$(BINDIR)/carla-database \
  461. $(DESTDIR)$(BINDIR)/carla-jack-multi \
  462. $(DESTDIR)$(BINDIR)/carla-jack-single \
  463. $(DESTDIR)$(BINDIR)/carla-patchbay \
  464. $(DESTDIR)$(BINDIR)/carla-rack \
  465. $(DESTDIR)$(BINDIR)/carla-settings
  466. # Install the real modgui bridge
  467. install -m 755 \
  468. data/carla-bridge-lv2-modgui \
  469. $(DESTDIR)$(LIBDIR)/carla
  470. # Adjust PREFIX value in modgui bridge
  471. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  472. $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  473. # Install python code (gui)
  474. install -m 644 \
  475. source/carla \
  476. source/carla-control \
  477. source/carla-jack-multi \
  478. source/carla-jack-single \
  479. source/carla-patchbay \
  480. source/carla-rack \
  481. source/*.py \
  482. $(DESTDIR)$(DATADIR)/carla
  483. # Adjust LIBDIR and DATADIR value in python code
  484. sed -i 's?X_LIBDIR_X = None?X_LIBDIR_X = "$(LIBDIR)"?' \
  485. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  486. sed -i 's?X_DATADIR_X = None?X_DATADIR_X = "$(DATADIR)"?' \
  487. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  488. # Install resources (gui)
  489. install -m 755 \
  490. bin/resources/carla-plugin \
  491. bin/resources/carla-plugin-patchbay \
  492. bin/resources/*-ui \
  493. $(DESTDIR)$(DATADIR)/carla/resources
  494. ifeq ($(HAVE_THEME),true)
  495. # Install theme
  496. install -m 644 \
  497. bin/styles/* \
  498. $(DESTDIR)$(LIBDIR)/carla/styles
  499. endif
  500. # Install desktop files
  501. install -m 644 data/*.desktop $(DESTDIR)$(DATADIR)/applications
  502. # Install mime package
  503. install -m 644 data/carla.xml $(DESTDIR)$(DATADIR)/mime/packages
  504. # Install icons, 16x16
  505. install -m 644 resources/16x16/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  506. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  507. # Install icons, 48x48
  508. install -m 644 resources/48x48/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  509. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  510. # Install icons, 128x128
  511. install -m 644 resources/128x128/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  512. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  513. # Install icons, 256x256
  514. install -m 644 resources/256x256/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  515. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  516. # Install icons, scalable
  517. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  518. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  519. # Install resources (re-use python files)
  520. $(LINK) $(DATADIR)/carla/carla_app.py $(DESTDIR)$(DATADIR)/carla/resources
  521. $(LINK) $(DATADIR)/carla/carla_backend.py $(DESTDIR)$(DATADIR)/carla/resources
  522. $(LINK) $(DATADIR)/carla/carla_backend_qt.py $(DESTDIR)$(DATADIR)/carla/resources
  523. $(LINK) $(DATADIR)/carla/carla_config.py $(DESTDIR)$(DATADIR)/carla/resources
  524. $(LINK) $(DATADIR)/carla/carla_control.py $(DESTDIR)$(DATADIR)/carla/resources
  525. $(LINK) $(DATADIR)/carla/carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  526. $(LINK) $(DATADIR)/carla/carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  527. $(LINK) $(DATADIR)/carla/carla_modgui.py $(DESTDIR)$(DATADIR)/carla/resources
  528. $(LINK) $(DATADIR)/carla/carla_panels.py $(DESTDIR)$(DATADIR)/carla/resources
  529. $(LINK) $(DATADIR)/carla/carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  530. $(LINK) $(DATADIR)/carla/carla_skin.py $(DESTDIR)$(DATADIR)/carla/resources
  531. $(LINK) $(DATADIR)/carla/carla_shared.py $(DESTDIR)$(DATADIR)/carla/resources
  532. $(LINK) $(DATADIR)/carla/carla_utils.py $(DESTDIR)$(DATADIR)/carla/resources
  533. $(LINK) $(DATADIR)/carla/carla_widgets.py $(DESTDIR)$(DATADIR)/carla/resources
  534. $(LINK) $(DATADIR)/carla/canvaspreviewframe.py $(DESTDIR)$(DATADIR)/carla/resources
  535. $(LINK) $(DATADIR)/carla/digitalpeakmeter.py $(DESTDIR)$(DATADIR)/carla/resources
  536. $(LINK) $(DATADIR)/carla/draggablegraphicsview.py $(DESTDIR)$(DATADIR)/carla/resources
  537. $(LINK) $(DATADIR)/carla/externalui.py $(DESTDIR)$(DATADIR)/carla/resources
  538. $(LINK) $(DATADIR)/carla/ledbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  539. $(LINK) $(DATADIR)/carla/paramspinbox.py $(DESTDIR)$(DATADIR)/carla/resources
  540. $(LINK) $(DATADIR)/carla/patchcanvas.py $(DESTDIR)$(DATADIR)/carla/resources
  541. $(LINK) $(DATADIR)/carla/patchcanvas_theme.py $(DESTDIR)$(DATADIR)/carla/resources
  542. $(LINK) $(DATADIR)/carla/pianoroll.py $(DESTDIR)$(DATADIR)/carla/resources
  543. $(LINK) $(DATADIR)/carla/pixmapbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  544. $(LINK) $(DATADIR)/carla/pixmapdial.py $(DESTDIR)$(DATADIR)/carla/resources
  545. $(LINK) $(DATADIR)/carla/pixmapkeyboard.py $(DESTDIR)$(DATADIR)/carla/resources
  546. $(LINK) $(DATADIR)/carla/racklistwidget.py $(DESTDIR)$(DATADIR)/carla/resources
  547. $(LINK) $(DATADIR)/carla/resources_rc.py $(DESTDIR)$(DATADIR)/carla/resources
  548. $(LINK) $(DATADIR)/carla/ui_carla_about.py $(DESTDIR)$(DATADIR)/carla/resources
  549. $(LINK) $(DATADIR)/carla/ui_carla_about_juce.py $(DESTDIR)$(DATADIR)/carla/resources
  550. $(LINK) $(DATADIR)/carla/ui_carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  551. $(LINK) $(DATADIR)/carla/ui_carla_edit.py $(DESTDIR)$(DATADIR)/carla/resources
  552. $(LINK) $(DATADIR)/carla/ui_carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  553. $(LINK) $(DATADIR)/carla/ui_carla_panel_time.py $(DESTDIR)$(DATADIR)/carla/resources
  554. $(LINK) $(DATADIR)/carla/ui_carla_parameter.py $(DESTDIR)$(DATADIR)/carla/resources
  555. $(LINK) $(DATADIR)/carla/ui_carla_plugin_calf.py $(DESTDIR)$(DATADIR)/carla/resources
  556. $(LINK) $(DATADIR)/carla/ui_carla_plugin_classic.py $(DESTDIR)$(DATADIR)/carla/resources
  557. $(LINK) $(DATADIR)/carla/ui_carla_plugin_compact.py $(DESTDIR)$(DATADIR)/carla/resources
  558. $(LINK) $(DATADIR)/carla/ui_carla_plugin_default.py $(DESTDIR)$(DATADIR)/carla/resources
  559. $(LINK) $(DATADIR)/carla/ui_carla_plugin_presets.py $(DESTDIR)$(DATADIR)/carla/resources
  560. $(LINK) $(DATADIR)/carla/ui_carla_refresh.py $(DESTDIR)$(DATADIR)/carla/resources
  561. $(LINK) $(DATADIR)/carla/ui_carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  562. $(LINK) $(DATADIR)/carla/ui_carla_settings_driver.py $(DESTDIR)$(DATADIR)/carla/resources
  563. $(LINK) $(DATADIR)/carla/ui_inputdialog_value.py $(DESTDIR)$(DATADIR)/carla/resources
  564. $(LINK) $(DATADIR)/carla/ui_midipattern.py $(DESTDIR)$(DATADIR)/carla/resources
  565. endif
  566. # --------------------------------------------------------------------------------------------------------------------
  567. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  568. # Install resources (experimental plugins)
  569. install -m 644 \
  570. bin/resources/at1/*.png \
  571. $(DESTDIR)$(DATADIR)/carla/resources/at1
  572. install -m 644 \
  573. bin/resources/bls1/*.png \
  574. $(DESTDIR)$(DATADIR)/carla/resources/bls1
  575. install -m 644 \
  576. bin/resources/rev1/*.png \
  577. $(DESTDIR)$(DATADIR)/carla/resources/rev1
  578. install -m 755 \
  579. bin/resources/at1-ui \
  580. bin/resources/bls1-ui \
  581. bin/resources/rev1-ui \
  582. $(DESTDIR)$(DATADIR)/carla/resources
  583. endif
  584. ifeq ($(HAVE_ZYN_DEPS),true)
  585. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  586. # Install resources (zynaddsubfx)
  587. install -m 644 \
  588. bin/resources/zynaddsubfx/*.png \
  589. $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  590. install -m 755 \
  591. bin/resources/zynaddsubfx-ui \
  592. $(DESTDIR)$(DATADIR)/carla/resources
  593. endif
  594. endif
  595. # --------------------------------------------------------------------------------------------------------------------
  596. # Install lv2 plugin
  597. install -d $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  598. install -m 644 \
  599. bin/carla.lv2/carla.* \
  600. bin/carla.lv2/*.ttl \
  601. $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  602. # Link binaries for lv2 plugin
  603. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  604. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/$$i; \
  605. done
  606. rm -f $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/libcarla_standalone2.*
  607. # Link resources for lv2 plugin
  608. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  609. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  610. # Link styles for lv2 plugin
  611. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  612. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  613. # --------------------------------------------------------------------------------------------------------------------
  614. ifeq ($(LINUX),true)
  615. ifeq ($(HAVE_X11),true)
  616. # Install vst plugin
  617. install -d $(DESTDIR)$(LIBDIR)/vst/carla.vst
  618. install -m 644 \
  619. bin/CarlaRack*.* \
  620. bin/CarlaPatchbay*.* \
  621. $(DESTDIR)$(LIBDIR)/vst/carla.vst
  622. # Link binaries for vst plugin
  623. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  624. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/vst/carla.vst/$$i; \
  625. done
  626. rm -f $(DESTDIR)$(LIBDIR)/vst/carla.vst/libcarla_standalone2.*
  627. # Link resources for vst plugin
  628. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  629. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  630. # Link styles for vst plugin
  631. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  632. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  633. endif
  634. endif
  635. # --------------------------------------------------------------------------------------------------------------------
  636. ifneq ($(HAVE_PYQT),true)
  637. # Remove gui files for non-gui build
  638. rm $(DESTDIR)$(LIBDIR)/carla/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. else
  846. @echo "DISTRHO Plugins:$(ANS_YES)(without UI)"
  847. endif
  848. ifeq ($(HAVE_PROJECTM),true)
  849. @echo "DISTRHO ProM: $(ANS_YES)"
  850. else
  851. @echo "DISTRHO ProM: $(ANS_NO) (missing libprojectM)"
  852. endif
  853. ifeq ($(HAVE_ZYN_DEPS),true)
  854. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  855. ifeq ($(HAVE_NTK),true)
  856. @echo "ZynAddSubFX: $(ANS_YES)(with NTK UI)"
  857. else
  858. @echo "ZynAddSubFX: $(ANS_YES)(with FLTK UI)"
  859. endif
  860. else
  861. @echo "ZynAddSubFX: $(ANS_YES)(without UI) $(mS)FLTK or NTK missing$(mE)"
  862. endif
  863. else
  864. @echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"
  865. endif
  866. # ----------------------------------------------------------------------------------------------------------------------------
  867. .FORCE:
  868. .PHONY: .FORCE
  869. # ----------------------------------------------------------------------------------------------------------------------------