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

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