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