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