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
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012
  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-jack-multi \
  448. data/carla-jack-single \
  449. data/carla-patchbay \
  450. data/carla-rack \
  451. data/carla-settings \
  452. $(DESTDIR)$(BINDIR)
  453. # Adjust PREFIX value in script files (gui)
  454. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  455. $(DESTDIR)$(BINDIR)/carla \
  456. $(DESTDIR)$(BINDIR)/carla-control \
  457. $(DESTDIR)$(BINDIR)/carla-database \
  458. $(DESTDIR)$(BINDIR)/carla-jack-multi \
  459. $(DESTDIR)$(BINDIR)/carla-jack-single \
  460. $(DESTDIR)$(BINDIR)/carla-patchbay \
  461. $(DESTDIR)$(BINDIR)/carla-rack \
  462. $(DESTDIR)$(BINDIR)/carla-settings
  463. # Install the real modgui bridge
  464. install -m 755 \
  465. data/carla-bridge-lv2-modgui \
  466. $(DESTDIR)$(LIBDIR)/carla
  467. # Adjust PREFIX value in modgui bridge
  468. sed -i 's?X-PREFIX-X?$(PREFIX)?' \
  469. $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  470. # Install python code (gui)
  471. install -m 644 \
  472. source/carla \
  473. source/carla-control \
  474. source/carla-jack-multi \
  475. source/carla-jack-single \
  476. source/carla-patchbay \
  477. source/carla-rack \
  478. source/*.py \
  479. $(DESTDIR)$(DATADIR)/carla
  480. # Adjust LIBDIR and DATADIR value in python code
  481. sed -i 's?X_LIBDIR_X = None?X_LIBDIR_X = "$(LIBDIR)"?' \
  482. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  483. sed -i 's?X_DATADIR_X = None?X_DATADIR_X = "$(DATADIR)"?' \
  484. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  485. # Install resources (gui)
  486. install -m 755 \
  487. bin/resources/carla-plugin \
  488. bin/resources/carla-plugin-patchbay \
  489. bin/resources/*-ui \
  490. $(DESTDIR)$(DATADIR)/carla/resources
  491. ifeq ($(HAVE_THEME),true)
  492. # Install theme
  493. install -m 644 \
  494. bin/styles/* \
  495. $(DESTDIR)$(LIBDIR)/carla/styles
  496. endif
  497. # Install desktop files
  498. install -m 644 data/*.desktop $(DESTDIR)$(DATADIR)/applications
  499. # Install mime package
  500. install -m 644 data/carla.xml $(DESTDIR)$(DATADIR)/mime/packages
  501. # Install icons, 16x16
  502. install -m 644 resources/16x16/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  503. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  504. # Install icons, 48x48
  505. install -m 644 resources/48x48/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  506. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  507. # Install icons, 128x128
  508. install -m 644 resources/128x128/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  509. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  510. # Install icons, 256x256
  511. install -m 644 resources/256x256/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  512. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  513. # Install icons, scalable
  514. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  515. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  516. # Install resources (re-use python files)
  517. $(LINK) $(DATADIR)/carla/carla_app.py $(DESTDIR)$(DATADIR)/carla/resources
  518. $(LINK) $(DATADIR)/carla/carla_backend.py $(DESTDIR)$(DATADIR)/carla/resources
  519. $(LINK) $(DATADIR)/carla/carla_backend_qt.py $(DESTDIR)$(DATADIR)/carla/resources
  520. $(LINK) $(DATADIR)/carla/carla_config.py $(DESTDIR)$(DATADIR)/carla/resources
  521. $(LINK) $(DATADIR)/carla/carla_control.py $(DESTDIR)$(DATADIR)/carla/resources
  522. $(LINK) $(DATADIR)/carla/carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  523. $(LINK) $(DATADIR)/carla/carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  524. $(LINK) $(DATADIR)/carla/carla_modgui.py $(DESTDIR)$(DATADIR)/carla/resources
  525. $(LINK) $(DATADIR)/carla/carla_panels.py $(DESTDIR)$(DATADIR)/carla/resources
  526. $(LINK) $(DATADIR)/carla/carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  527. $(LINK) $(DATADIR)/carla/carla_skin.py $(DESTDIR)$(DATADIR)/carla/resources
  528. $(LINK) $(DATADIR)/carla/carla_shared.py $(DESTDIR)$(DATADIR)/carla/resources
  529. $(LINK) $(DATADIR)/carla/carla_utils.py $(DESTDIR)$(DATADIR)/carla/resources
  530. $(LINK) $(DATADIR)/carla/carla_widgets.py $(DESTDIR)$(DATADIR)/carla/resources
  531. $(LINK) $(DATADIR)/carla/canvaspreviewframe.py $(DESTDIR)$(DATADIR)/carla/resources
  532. $(LINK) $(DATADIR)/carla/digitalpeakmeter.py $(DESTDIR)$(DATADIR)/carla/resources
  533. $(LINK) $(DATADIR)/carla/draggablegraphicsview.py $(DESTDIR)$(DATADIR)/carla/resources
  534. $(LINK) $(DATADIR)/carla/externalui.py $(DESTDIR)$(DATADIR)/carla/resources
  535. $(LINK) $(DATADIR)/carla/ledbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  536. $(LINK) $(DATADIR)/carla/paramspinbox.py $(DESTDIR)$(DATADIR)/carla/resources
  537. $(LINK) $(DATADIR)/carla/patchcanvas.py $(DESTDIR)$(DATADIR)/carla/resources
  538. $(LINK) $(DATADIR)/carla/patchcanvas_theme.py $(DESTDIR)$(DATADIR)/carla/resources
  539. $(LINK) $(DATADIR)/carla/pianoroll.py $(DESTDIR)$(DATADIR)/carla/resources
  540. $(LINK) $(DATADIR)/carla/pixmapbutton.py $(DESTDIR)$(DATADIR)/carla/resources
  541. $(LINK) $(DATADIR)/carla/pixmapdial.py $(DESTDIR)$(DATADIR)/carla/resources
  542. $(LINK) $(DATADIR)/carla/pixmapkeyboard.py $(DESTDIR)$(DATADIR)/carla/resources
  543. $(LINK) $(DATADIR)/carla/racklistwidget.py $(DESTDIR)$(DATADIR)/carla/resources
  544. $(LINK) $(DATADIR)/carla/resources_rc.py $(DESTDIR)$(DATADIR)/carla/resources
  545. $(LINK) $(DATADIR)/carla/ui_carla_about.py $(DESTDIR)$(DATADIR)/carla/resources
  546. $(LINK) $(DATADIR)/carla/ui_carla_about_juce.py $(DESTDIR)$(DATADIR)/carla/resources
  547. $(LINK) $(DATADIR)/carla/ui_carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  548. $(LINK) $(DATADIR)/carla/ui_carla_edit.py $(DESTDIR)$(DATADIR)/carla/resources
  549. $(LINK) $(DATADIR)/carla/ui_carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  550. $(LINK) $(DATADIR)/carla/ui_carla_panel_time.py $(DESTDIR)$(DATADIR)/carla/resources
  551. $(LINK) $(DATADIR)/carla/ui_carla_parameter.py $(DESTDIR)$(DATADIR)/carla/resources
  552. $(LINK) $(DATADIR)/carla/ui_carla_plugin_calf.py $(DESTDIR)$(DATADIR)/carla/resources
  553. $(LINK) $(DATADIR)/carla/ui_carla_plugin_classic.py $(DESTDIR)$(DATADIR)/carla/resources
  554. $(LINK) $(DATADIR)/carla/ui_carla_plugin_compact.py $(DESTDIR)$(DATADIR)/carla/resources
  555. $(LINK) $(DATADIR)/carla/ui_carla_plugin_default.py $(DESTDIR)$(DATADIR)/carla/resources
  556. $(LINK) $(DATADIR)/carla/ui_carla_plugin_presets.py $(DESTDIR)$(DATADIR)/carla/resources
  557. $(LINK) $(DATADIR)/carla/ui_carla_refresh.py $(DESTDIR)$(DATADIR)/carla/resources
  558. $(LINK) $(DATADIR)/carla/ui_carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  559. $(LINK) $(DATADIR)/carla/ui_carla_settings_driver.py $(DESTDIR)$(DATADIR)/carla/resources
  560. $(LINK) $(DATADIR)/carla/ui_inputdialog_value.py $(DESTDIR)$(DATADIR)/carla/resources
  561. $(LINK) $(DATADIR)/carla/ui_midipattern.py $(DESTDIR)$(DATADIR)/carla/resources
  562. endif
  563. # --------------------------------------------------------------------------------------------------------------------
  564. ifeq ($(EXPERIMENTAL_PLUGINS),true)
  565. # Install resources (experimental plugins)
  566. install -m 644 \
  567. bin/resources/at1/*.png \
  568. $(DESTDIR)$(DATADIR)/carla/resources/at1
  569. install -m 644 \
  570. bin/resources/bls1/*.png \
  571. $(DESTDIR)$(DATADIR)/carla/resources/bls1
  572. install -m 644 \
  573. bin/resources/rev1/*.png \
  574. $(DESTDIR)$(DATADIR)/carla/resources/rev1
  575. install -m 755 \
  576. bin/resources/at1-ui \
  577. bin/resources/bls1-ui \
  578. bin/resources/rev1-ui \
  579. $(DESTDIR)$(DATADIR)/carla/resources
  580. endif
  581. ifeq ($(HAVE_ZYN_DEPS),true)
  582. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  583. # Install resources (zynaddsubfx)
  584. install -m 644 \
  585. bin/resources/zynaddsubfx/*.png \
  586. $(DESTDIR)$(DATADIR)/carla/resources/zynaddsubfx
  587. install -m 755 \
  588. bin/resources/zynaddsubfx-ui \
  589. $(DESTDIR)$(DATADIR)/carla/resources
  590. endif
  591. endif
  592. # --------------------------------------------------------------------------------------------------------------------
  593. # Install lv2 plugin
  594. install -d $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  595. install -m 644 \
  596. bin/carla.lv2/carla.* \
  597. bin/carla.lv2/*.ttl \
  598. $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  599. # Link binaries for lv2 plugin
  600. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  601. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/$$i; \
  602. done
  603. rm -f $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/libcarla_standalone2.*
  604. # Link resources for lv2 plugin
  605. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  606. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  607. # Link styles for lv2 plugin
  608. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  609. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  610. # --------------------------------------------------------------------------------------------------------------------
  611. ifeq ($(LINUX),true)
  612. ifeq ($(HAVE_X11),true)
  613. # Install vst plugin
  614. install -d $(DESTDIR)$(LIBDIR)/vst/carla.vst
  615. install -m 644 \
  616. bin/CarlaRack*.* \
  617. bin/CarlaPatchbay*.* \
  618. $(DESTDIR)$(LIBDIR)/vst/carla.vst
  619. # Link binaries for vst plugin
  620. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  621. $(LINK) $(LIBDIR)/carla/$$i $(DESTDIR)$(LIBDIR)/vst/carla.vst/$$i; \
  622. done
  623. rm -f $(DESTDIR)$(LIBDIR)/vst/carla.vst/libcarla_standalone2.*
  624. # Link resources for vst plugin
  625. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  626. $(LINK) $(DATADIR)/carla/resources $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  627. # Link styles for vst plugin
  628. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  629. $(LINK) $(LIBDIR)/carla/styles $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  630. endif
  631. endif
  632. # --------------------------------------------------------------------------------------------------------------------
  633. ifneq ($(HAVE_PYQT),true)
  634. # Remove gui files for non-gui build
  635. rm $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  636. endif
  637. # ----------------------------------------------------------------------------------------------------------------------------
  638. uninstall:
  639. rm -f $(DESTDIR)$(BINDIR)/carla*
  640. rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc
  641. rm -f $(DESTDIR)$(DATADIR)/applications/carla.desktop
  642. rm -f $(DESTDIR)$(DATADIR)/applications/carla-control.desktop
  643. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla.png
  644. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla-control.png
  645. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla.svg
  646. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla-control.svg
  647. rm -f $(DESTDIR)$(DATADIR)/mime/packages/carla.xml
  648. rm -rf $(DESTDIR)$(LIBDIR)/carla
  649. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  650. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla-native.lv2
  651. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst
  652. rm -rf $(DESTDIR)$(DATADIR)/carla
  653. rm -rf $(DESTDIR)$(INCLUDEDIR)/carla
  654. # ----------------------------------------------------------------------------------------------------------------------------
  655. USE_COLORS=true
  656. ifeq ($(HAIKU),true)
  657. USE_COLORS=false
  658. endif
  659. ifeq ($(USE_COLORS),true)
  660. ANS_NO=\033[31m NO \033[0m
  661. ANS_YES=\033[32m YES \033[0m
  662. mS=\033[33m[
  663. mZ=\033[30;1m[
  664. mE=]\033[0m
  665. tS=\033[36m
  666. tE=\033[0m
  667. else
  668. ANS_NO=" NO "
  669. ANS_YES=" YES "
  670. endif
  671. ifeq ($(DEFAULT_QT),4)
  672. FEV="Qt4"
  673. else
  674. FEV="Qt5"
  675. endif
  676. features:
  677. @echo "$(tS)---> Main features $(tE)"
  678. ifeq ($(HAVE_PYQT),true)
  679. @echo "Front-End: $(ANS_YES)(Using $(FEV))"
  680. ifneq ($(WIN32),true)
  681. @echo "LV2 plugin: $(ANS_YES)"
  682. else
  683. @echo "LV2 plugin: $(ANS_NO) $(mZ)Not available for Windows$(mE)"
  684. endif
  685. ifeq ($(LINUX),true)
  686. ifeq ($(HAVE_X11),true)
  687. @echo "VST plugin: $(ANS_YES)"
  688. else # HAVE_X11
  689. @echo "VST plugin: $(ANS_NO) $(mS)X11 missing$(mE)"
  690. endif
  691. else # LINUX
  692. @echo "VST plugin: $(ANS_NO) $(mZ)Linux only$(mE)"
  693. endif
  694. else
  695. @echo "Front-End: $(ANS_NO) $(mS)Missing PyQt$(mE)"
  696. @echo "LV2 plugin: $(ANS_NO) $(mS)No front-end$(mE)"
  697. @echo "VST plugin: $(ANS_NO) $(mS)No front-end$(mE)"
  698. endif
  699. ifeq ($(HAVE_LIBLO),true)
  700. @echo "OSC support:$(ANS_YES)"
  701. else
  702. @echo "OSC support:$(ANS_NO) $(mS)Missing liblo$(mE)"
  703. endif
  704. @echo ""
  705. @echo "$(tS)---> Engine drivers $(tE)"
  706. @echo "JACK: $(ANS_YES)"
  707. ifeq ($(LINUX),true)
  708. ifeq ($(HAVE_ALSA),true)
  709. @echo "ALSA: $(ANS_YES)"
  710. else
  711. @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)"
  712. endif
  713. ifeq ($(HAVE_PULSEAUDIO),true)
  714. @echo "PulseAudio: $(ANS_YES)"
  715. else
  716. @echo "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)"
  717. endif
  718. else
  719. @echo "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)"
  720. @echo "PulseAudio: $(ANS_NO) $(mZ)Linux only$(mE)"
  721. endif
  722. ifeq ($(MACOS),true)
  723. @echo "CoreAudio: $(ANS_YES)"
  724. else
  725. @echo "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)"
  726. endif
  727. ifeq ($(WIN32),true)
  728. @echo "ASIO: $(ANS_YES)"
  729. @echo "DirectSound:$(ANS_YES)"
  730. else
  731. @echo "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)"
  732. @echo "DirectSound:$(ANS_NO) $(mZ)Windows only$(mE)"
  733. endif
  734. @echo ""
  735. @echo "$(tS)---> Plugin formats: $(tE)"
  736. @echo "Internal:$(ANS_YES)"
  737. @echo "LADSPA: $(ANS_YES)"
  738. @echo "DSSI: $(ANS_YES)"
  739. @echo "LV2: $(ANS_YES)"
  740. ifeq ($(MACOS_OR_WIN32),true)
  741. @echo "VST: $(ANS_YES)(with UI)"
  742. else
  743. ifeq ($(LINUX),true)
  744. ifeq ($(HAVE_X11),true)
  745. @echo "VST: $(ANS_YES)(with UI)"
  746. else
  747. @echo "VST: $(ANS_YES)(without UI) $(mS)Missing X11$(mE)"
  748. endif
  749. else # LINUX
  750. @echo "VST: $(ANS_YES)(without UI) $(mZ)Linux, Mac and Windows only$(mE)"
  751. endif
  752. endif
  753. ifeq ($(MACOS_OR_WIN32),true)
  754. @echo "VST3: $(ANS_YES)"
  755. else
  756. @echo "VST3: $(ANS_NO) $(mZ)Windows and MacOS only$(mE)"
  757. endif
  758. ifeq ($(MACOS),true)
  759. @echo "AU: $(ANS_YES)"
  760. else
  761. @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)"
  762. endif
  763. @echo ""
  764. @echo "$(tS)---> LV2 UI toolkit support: $(tE)"
  765. @echo "External:$(ANS_YES)(direct)"
  766. ifeq ($(LINUX),true)
  767. ifeq ($(HAVE_GTK2),true)
  768. @echo "Gtk2: $(ANS_YES)(bridge)"
  769. else
  770. @echo "Gtk2: $(ANS_NO) $(mS)Gtk2 missing$(mE)"
  771. endif
  772. ifeq ($(HAVE_GTK3),true)
  773. @echo "Gtk3: $(ANS_YES)(bridge)"
  774. else
  775. @echo "Gtk3: $(ANS_NO) $(mS)Gtk3 missing$(mE)"
  776. endif
  777. ifeq ($(HAVE_QT4),true)
  778. @echo "Qt4: $(ANS_YES)(bridge)"
  779. else
  780. @echo "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)"
  781. endif
  782. ifeq ($(HAVE_QT5),true)
  783. @echo "Qt5: $(ANS_YES)(bridge)"
  784. else
  785. @echo "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)"
  786. endif
  787. ifeq ($(HAVE_X11),true)
  788. @echo "X11: $(ANS_YES)(direct+bridge)"
  789. else
  790. @echo "X11: $(ANS_NO) $(mS)X11 missing$(mE)"
  791. endif
  792. else # LINUX
  793. @echo "Gtk2: $(ANS_NO) $(mZ)Linux only$(mE)"
  794. @echo "Gtk3: $(ANS_NO) $(mZ)Linux only$(mE)"
  795. @echo "Qt4: $(ANS_NO) $(mZ)Linux only$(mE)"
  796. @echo "Qt5: $(ANS_NO) $(mZ)Linux only$(mE)"
  797. @echo "X11: $(ANS_NO) $(mZ)Linux only$(mE)"
  798. endif # LINUX
  799. ifeq ($(MACOS),true)
  800. @echo "Cocoa: $(ANS_YES)(direct+bridge)"
  801. else
  802. @echo "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)"
  803. endif
  804. ifeq ($(WIN32),true)
  805. @echo "Windows: $(ANS_YES)(direct+bridge)"
  806. else
  807. @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)"
  808. endif
  809. @echo ""
  810. @echo "$(tS)---> File formats: $(tE)"
  811. ifeq ($(HAVE_LINUXSAMPLER),true)
  812. @echo "GIG:$(ANS_YES)"
  813. else
  814. @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing or too old$(mE)"
  815. endif
  816. ifeq ($(HAVE_FLUIDSYNTH),true)
  817. @echo "SF2:$(ANS_YES)"
  818. else
  819. @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)"
  820. endif
  821. ifeq ($(HAVE_LINUXSAMPLER),true)
  822. @echo "SFZ:$(ANS_YES)"
  823. else
  824. @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing or too old$(mE)"
  825. endif
  826. @echo ""
  827. @echo "$(tS)---> Internal plugins: $(tE)"
  828. ifneq ($(WIN32),true)
  829. @echo "Carla-Patchbay: $(ANS_YES)"
  830. @echo "Carla-Rack: $(ANS_YES)"
  831. else
  832. @echo "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  833. @echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  834. endif
  835. ifeq ($(HAVE_DGL),true)
  836. @echo "DISTRHO Plugins:$(ANS_YES)(with UI)"
  837. else
  838. @echo "DISTRHO Plugins:$(ANS_YES)(without UI)"
  839. endif
  840. ifeq ($(HAVE_PROJECTM),true)
  841. @echo "DISTRHO ProM: $(ANS_YES)"
  842. else
  843. @echo "DISTRHO ProM: $(ANS_NO) (missing libprojectM)"
  844. endif
  845. ifeq ($(HAVE_ZYN_DEPS),true)
  846. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  847. ifeq ($(HAVE_NTK),true)
  848. @echo "ZynAddSubFX: $(ANS_YES)(with NTK UI)"
  849. else
  850. @echo "ZynAddSubFX: $(ANS_YES)(with FLTK UI)"
  851. endif
  852. else
  853. @echo "ZynAddSubFX: $(ANS_YES)(without UI) $(mS)FLTK or NTK missing$(mE)"
  854. endif
  855. else
  856. @echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"
  857. endif
  858. # ----------------------------------------------------------------------------------------------------------------------------
  859. .FORCE:
  860. .PHONY: .FORCE
  861. # ----------------------------------------------------------------------------------------------------------------------------