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

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
11 years ago
11 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
10 years ago
10 years ago
11 years ago
10 years ago
10 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
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
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
11 years ago
11 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
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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. #!/usr/bin/make -f
  2. # Makefile for Carla #
  3. # ------------------ #
  4. # Created by falkTX
  5. #
  6. include source/Makefile.mk
  7. # --------------------------------------------------------------
  8. PREFIX = /usr/local
  9. DESTDIR =
  10. LINK = ln -sf
  11. ifeq ($(DEFAULT_QT),4)
  12. PYUIC ?= pyuic4 -w
  13. PYRCC ?= pyrcc4 -py3
  14. else
  15. PYUIC ?= pyuic5
  16. PYRCC ?= pyrcc5
  17. endif
  18. # --------------------------------------------------------------
  19. all: BIN RES UI WIDGETS
  20. # --------------------------------------------------------------
  21. # Binaries (native)
  22. BIN: libs backend bridges-plugin bridges-ui discovery plugin theme
  23. # --------------------------------------------------------------
  24. ALL_LIBS += source/backend/carla_engine.a
  25. ALL_LIBS += source/backend/carla_engine_plugin.a
  26. ALL_LIBS += source/backend/carla_plugin.a
  27. ALL_LIBS += source/modules/jackbridge.a
  28. ALL_LIBS += source/modules/juce_audio_basics.a
  29. ALL_LIBS += source/modules/juce_audio_formats.a
  30. ALL_LIBS += source/modules/juce_core.a
  31. ALL_LIBS += source/modules/lilv.a
  32. ALL_LIBS += source/modules/native-plugins.a
  33. ALL_LIBS += source/modules/rtmempool.a
  34. ifeq ($(MACOS_OR_WIN32),true)
  35. ALL_LIBS += source/modules/juce_audio_devices.a
  36. ALL_LIBS += source/modules/juce_audio_processors.a
  37. ALL_LIBS += source/modules/juce_data_structures.a
  38. ALL_LIBS += source/modules/juce_events.a
  39. ALL_LIBS += source/modules/juce_graphics.a
  40. ALL_LIBS += source/modules/juce_gui_basics.a
  41. ifeq ($(MACOS),true)
  42. ALL_LIBS += source/modules/juce_gui_extra.a
  43. endif
  44. else
  45. ALL_LIBS += source/modules/rtaudio.a
  46. ALL_LIBS += source/modules/rtmidi.a
  47. endif
  48. ifeq ($(HAVE_QT4),true)
  49. ALL_LIBS += source/modules/theme.qt4.a
  50. endif
  51. ifeq ($(HAVE_QT5),true)
  52. ALL_LIBS += source/modules/theme.qt5.a
  53. endif
  54. libs: $(ALL_LIBS)
  55. source/backend/carla_%_plugin.a: .FORCE
  56. $(MAKE) -C source/backend/$* ../carla_$*_plugin.a
  57. source/backend/carla_%.a: .FORCE
  58. $(MAKE) -C source/backend/$* ../carla_$*.a
  59. source/modules/jackbridge-%: .FORCE
  60. $(MAKE) -C source/modules/jackbridge ../jackbridge-$*
  61. source/modules/%.qt4.a: .FORCE
  62. $(MAKE) -C source/modules/$* ../$*.qt4.a
  63. source/modules/%.qt5.a: .FORCE
  64. $(MAKE) -C source/modules/$* ../$*.qt5.a
  65. source/modules/%.posix32.a: .FORCE
  66. $(MAKE) -C source/modules/$* ../$*.posix32.a
  67. source/modules/%.posix64.a: .FORCE
  68. $(MAKE) -C source/modules/$* ../$*.posix64.a
  69. source/modules/%.win32.a: .FORCE
  70. $(MAKE) -C source/modules/$* ../$*.win32.a
  71. source/modules/%.win64.a: .FORCE
  72. $(MAKE) -C source/modules/$* ../$*.win64.a
  73. source/modules/%.a: .FORCE
  74. $(MAKE) -C source/modules/$* ../$*.a
  75. # --------------------------------------------------------------
  76. backend: bin/libcarla_standalone2$(LIB_EXT)
  77. bin/libcarla_standalone2$(LIB_EXT): libs .FORCE
  78. $(MAKE) -C source/backend
  79. # --------------------------------------------------------------
  80. bridges-plugin: bin/carla-bridge-native$(APP_EXT)
  81. bin/carla-bridge-native$(APP_EXT): libs .FORCE
  82. $(MAKE) -C source/bridges-plugin
  83. # --------------------------------------------------------------
  84. bridges-ui: libs .FORCE
  85. $(MAKE) -C source/bridges-ui
  86. # --------------------------------------------------------------
  87. discovery: bin/carla-discovery-native$(APP_EXT)
  88. bin/carla-discovery-native$(APP_EXT): libs .FORCE
  89. $(MAKE) -C source/discovery
  90. # --------------------------------------------------------------
  91. plugin: bin/carla-native.lv2/manifest.ttl
  92. bin/carla-native.lv2/carla-native$(LIB_EXT): backend .FORCE
  93. $(MAKE) -C source/plugin ../../$@
  94. bin/carla-native.lv2/manifest.ttl: bin/carla-native-lv2-export$(APP_EXT) bridges-plugin discovery .FORCE
  95. cd bin && ./carla-native-lv2-export$(APP_EXT); cd ..
  96. cd bin/carla-native.lv2 && $(LINK) ../*bridge-* ../carla-discovery-* .; cd ..
  97. bin/carla-native-lv2-export$(APP_EXT): bin/carla-native.lv2/carla-native$(LIB_EXT) .FORCE
  98. $(MAKE) -C source/plugin ../../$@
  99. # --------------------------------------------------------------
  100. theme: bin/styles/carlastyle$(LIB_EXT)
  101. bin/styles/carlastyle$(LIB_EXT): .FORCE
  102. $(MAKE) -C source/modules/theme
  103. # --------------------------------------------------------------
  104. # Binaries (posix32)
  105. LIBS_POSIX32 += source/modules/jackbridge.posix32.a
  106. LIBS_POSIX32 += source/modules/juce_audio_basics.posix32.a
  107. LIBS_POSIX32 += source/modules/juce_core.posix32.a
  108. LIBS_POSIX32 += source/modules/lilv.posix32.a
  109. LIBS_POSIX32 += source/modules/rtmempool.posix32.a
  110. ifeq ($(MACOS),true)
  111. LIBS_POSIX32 += source/modules/juce_audio_processors.posix32.a
  112. LIBS_POSIX32 += source/modules/juce_data_structures.posix32.a
  113. LIBS_POSIX32 += source/modules/juce_events.posix32.a
  114. LIBS_POSIX32 += source/modules/juce_graphics.posix32.a
  115. LIBS_POSIX32 += source/modules/juce_gui_basics.posix32.a
  116. LIBS_POSIX32 += source/modules/juce_gui_extra.posix32.a
  117. endif
  118. posix32: $(LIBS_POSIX32)
  119. $(MAKE) -C source/bridges-plugin posix32
  120. $(MAKE) -C source/discovery posix32
  121. # --------------------------------------------------------------
  122. # Binaries (posix64)
  123. LIBS_POSIX64 += source/modules/jackbridge.posix64.a
  124. LIBS_POSIX64 += source/modules/juce_audio_basics.posix64.a
  125. LIBS_POSIX64 += source/modules/juce_core.posix64.a
  126. LIBS_POSIX64 += source/modules/lilv.posix64.a
  127. LIBS_POSIX64 += source/modules/rtmempool.posix64.a
  128. ifeq ($(MACOS),true)
  129. LIBS_POSIX64 += source/modules/juce_audio_processors.posix64.a
  130. LIBS_POSIX64 += source/modules/juce_data_structures.posix64.a
  131. LIBS_POSIX64 += source/modules/juce_events.posix64.a
  132. LIBS_POSIX64 += source/modules/juce_graphics.posix64.a
  133. LIBS_POSIX64 += source/modules/juce_gui_basics.posix64.a
  134. LIBS_POSIX64 += source/modules/juce_gui_extra.posix64.a
  135. endif
  136. posix64: $(LIBS_POSIX64)
  137. $(MAKE) -C source/bridges-plugin posix64
  138. $(MAKE) -C source/discovery posix64
  139. # --------------------------------------------------------------
  140. # Binaries (win32)
  141. LIBS_WIN32 += source/modules/jackbridge-win32.dll
  142. LIBS_WIN32 += source/modules/juce_audio_basics.win32.a
  143. LIBS_WIN32 += source/modules/juce_audio_processors.win32.a
  144. LIBS_WIN32 += source/modules/juce_core.win32.a
  145. LIBS_WIN32 += source/modules/juce_data_structures.win32.a
  146. LIBS_WIN32 += source/modules/juce_events.win32.a
  147. LIBS_WIN32 += source/modules/juce_graphics.win32.a
  148. LIBS_WIN32 += source/modules/juce_gui_basics.win32.a
  149. LIBS_WIN32 += source/modules/lilv.win32.a
  150. LIBS_WIN32 += source/modules/rtmempool.win32.a
  151. win32: $(LIBS_WIN32)
  152. $(MAKE) -C source/bridges-plugin win32
  153. $(MAKE) -C source/discovery win32
  154. # --------------------------------------------------------------
  155. # Binaries (win64)
  156. LIBS_WIN64 += source/modules/jackbridge-win64.dll
  157. LIBS_WIN64 += source/modules/juce_audio_basics.win64.a
  158. LIBS_WIN64 += source/modules/juce_audio_processors.win64.a
  159. LIBS_WIN64 += source/modules/juce_core.win64.a
  160. LIBS_WIN64 += source/modules/juce_data_structures.win64.a
  161. LIBS_WIN64 += source/modules/juce_events.win64.a
  162. LIBS_WIN64 += source/modules/juce_graphics.win64.a
  163. LIBS_WIN64 += source/modules/juce_gui_basics.win64.a
  164. LIBS_WIN64 += source/modules/lilv.win64.a
  165. LIBS_WIN64 += source/modules/rtmempool.win64.a
  166. win64: $(LIBS_WIN64)
  167. $(MAKE) -C source/bridges-plugin win64
  168. $(MAKE) -C source/discovery win64
  169. # --------------------------------------------------------------
  170. # Binaries (wine)
  171. wine32:
  172. $(MAKE) -C source/modules jackbridge-wine32
  173. cp -f source/modules/jackbridge-win32.dll.so bin/jackbridge-win32.dll
  174. wine64:
  175. $(MAKE) -C source/modules jackbridge-wine64
  176. cp -f source/modules/jackbridge-win64.dll.so bin/jackbridge-win64.dll
  177. # --------------------------------------------------------------
  178. # Resources
  179. RES = \
  180. bin/resources/carla_backend.py \
  181. bin/resources/carla_config.py \
  182. bin/resources/carla_database.py \
  183. bin/resources/carla_host.py \
  184. bin/resources/carla_rack.py \
  185. bin/resources/carla_settings.py \
  186. bin/resources/carla_skin.py \
  187. bin/resources/carla_shared.py \
  188. bin/resources/carla_style.py \
  189. bin/resources/carla_widgets.py \
  190. bin/resources/canvaspreviewframe.py \
  191. bin/resources/digitalpeakmeter.py \
  192. bin/resources/externalui.py \
  193. bin/resources/ledbutton.py \
  194. bin/resources/paramspinbox.py \
  195. bin/resources/patchcanvas.py \
  196. bin/resources/patchcanvas_theme.py \
  197. bin/resources/pixmapbutton.py \
  198. bin/resources/pixmapdial.py \
  199. bin/resources/pixmapkeyboard.py \
  200. bin/resources/resources_rc.py \
  201. bin/resources/ui_carla_about.py \
  202. bin/resources/ui_carla_database.py \
  203. bin/resources/ui_carla_edit.py \
  204. bin/resources/ui_carla_host.py \
  205. bin/resources/ui_carla_parameter.py \
  206. bin/resources/ui_carla_plugin_basic_fx.py \
  207. bin/resources/ui_carla_plugin_calf.py \
  208. bin/resources/ui_carla_plugin_default.py \
  209. bin/resources/ui_carla_plugin_zita.py \
  210. bin/resources/ui_carla_plugin_zynfx.py \
  211. bin/resources/ui_carla_refresh.py \
  212. bin/resources/ui_carla_settings.py \
  213. bin/resources/ui_carla_settings_driver.py \
  214. bin/resources/ui_inputdialog_value.py \
  215. source/carla_config.py \
  216. source/resources_rc.py
  217. RES: $(RES)
  218. source/carla_config.py:
  219. @echo "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n" > $@
  220. ifeq ($(DEFAULT_QT),4)
  221. @echo "config_UseQt5 = False" >> $@
  222. else
  223. @echo "config_UseQt5 = True" >> $@
  224. endif
  225. source/resources_rc.py: resources/resources.qrc resources/*/*.png resources/*/*.svg
  226. $(PYRCC) $< -o $@
  227. bin/resources/%.py: source/%.py
  228. $(LINK) $(CURDIR)/source/$*.py bin/resources/
  229. # --------------------------------------------------------------
  230. # UI code
  231. UIs = \
  232. source/ui_carla_control.py \
  233. source/ui_carla_about.py \
  234. source/ui_carla_database.py \
  235. source/ui_carla_edit.py \
  236. source/ui_carla_host.py \
  237. source/ui_carla_parameter.py \
  238. source/ui_carla_plugin_basic_fx.py \
  239. source/ui_carla_plugin_default.py \
  240. source/ui_carla_plugin_calf.py \
  241. source/ui_carla_plugin_zita.py \
  242. source/ui_carla_plugin_zynfx.py \
  243. source/ui_carla_refresh.py \
  244. source/ui_carla_settings.py \
  245. source/ui_carla_settings_driver.py \
  246. source/ui_inputdialog_value.py
  247. UI: $(UIs)
  248. source/ui_%.py: resources/ui/%.ui
  249. $(PYUIC) $< -o $@
  250. # --------------------------------------------------------------
  251. # Widgets
  252. WIDGETS = \
  253. source/canvaspreviewframe.py \
  254. source/digitalpeakmeter.py \
  255. source/ledbutton.py \
  256. source/paramspinbox.py \
  257. source/pixmapbutton.py \
  258. source/pixmapdial.py \
  259. source/pixmapkeyboard.py
  260. WIDGETS: $(WIDGETS)
  261. source/%.py: source/widgets/%.py
  262. $(LINK) widgets/$*.py $@
  263. # --------------------------------------------------------------
  264. clean:
  265. $(MAKE) clean -C source/backend
  266. $(MAKE) clean -C source/bridges-plugin
  267. $(MAKE) clean -C source/bridges-ui
  268. $(MAKE) clean -C source/discovery
  269. $(MAKE) clean -C source/modules
  270. $(MAKE) clean -C source/plugin
  271. rm -f $(RES)
  272. rm -f $(UIs)
  273. rm -f $(WIDGETS)
  274. rm -f *~ source/*~ source/*.pyc source/*_rc.py source/ui_*.py
  275. debug:
  276. $(MAKE) DEBUG=true
  277. doxygen:
  278. $(MAKE) doxygen -C source/backend
  279. # --------------------------------------------------------------
  280. install:
  281. # Create directories
  282. install -d $(DESTDIR)$(PREFIX)/bin/
  283. install -d $(DESTDIR)$(PREFIX)/lib/carla/
  284. install -d $(DESTDIR)$(PREFIX)/lib/carla/styles/
  285. install -d $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  286. install -d $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/styles/
  287. install -d $(DESTDIR)$(PREFIX)/lib/pkgconfig/
  288. install -d $(DESTDIR)$(PREFIX)/include/carla/
  289. install -d $(DESTDIR)$(PREFIX)/include/carla/includes/
  290. install -d $(DESTDIR)$(PREFIX)/share/applications/
  291. install -d $(DESTDIR)$(PREFIX)/share/carla/
  292. install -d $(DESTDIR)$(PREFIX)/share/carla/resources/
  293. install -d $(DESTDIR)$(PREFIX)/share/carla/resources/nekofilter/
  294. install -d $(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/
  295. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  296. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  297. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  298. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  299. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  300. install -d $(DESTDIR)$(PREFIX)/share/mime/packages/
  301. # Install script files
  302. install -m 755 \
  303. data/carla \
  304. data/carla-database \
  305. data/carla-patchbay \
  306. data/carla-rack \
  307. data/carla-settings \
  308. $(DESTDIR)$(PREFIX)/bin/
  309. # data/carla-control \
  310. # data/carla-single \
  311. # Install desktop files
  312. install -m 644 data/*.desktop $(DESTDIR)$(PREFIX)/share/applications/
  313. # Install icons, 16x16
  314. install -m 644 resources/16x16/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  315. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  316. # Install icons, 48x48
  317. install -m 644 resources/48x48/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  318. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  319. # Install icons, 128x128
  320. install -m 644 resources/128x128/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  321. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  322. # Install icons, 256x256
  323. install -m 644 resources/256x256/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  324. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  325. # Install icons, scalable
  326. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  327. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  328. # Install mime package
  329. install -m 644 data/carla.xml $(DESTDIR)$(PREFIX)/share/mime/packages/
  330. # Install pkg-config file
  331. install -m 644 data/carla-standalone.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig/
  332. # Install backend
  333. install -m 644 \
  334. bin/libcarla_standalone2.* \
  335. $(DESTDIR)$(PREFIX)/lib/carla/
  336. # Install lv2 plugin
  337. install -m 644 \
  338. bin/carla-native.lv2/carla-native.* \
  339. bin/carla-native.lv2/*.ttl \
  340. $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  341. # Install binaries (backend)
  342. install -m 755 \
  343. bin/*bridge-* \
  344. bin/carla-discovery-* \
  345. $(DESTDIR)$(PREFIX)/lib/carla/
  346. # Install binaries (lv2 plugin)
  347. install -m 755 \
  348. bin/*bridge-* \
  349. bin/carla-discovery-* \
  350. $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  351. # Install theme
  352. install -m 644 \
  353. bin/styles/* \
  354. $(DESTDIR)$(PREFIX)/lib/carla/styles/
  355. # Install theme (lv2 plugin)
  356. install -m 644 \
  357. bin/styles/* \
  358. $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/styles/
  359. # Install python code
  360. install -m 644 \
  361. source/carla \
  362. source/carla-patchbay \
  363. source/carla-rack \
  364. source/*.py \
  365. $(DESTDIR)$(PREFIX)/share/carla/
  366. # Install headers
  367. install -m 644 \
  368. source/backend/CarlaBackend.h \
  369. source/backend/CarlaHost.h \
  370. source/backend/CarlaEngine.hpp \
  371. source/backend/CarlaPlugin.hpp \
  372. source/modules/CarlaNative.h \
  373. $(DESTDIR)$(PREFIX)/include/carla/
  374. install -m 644 \
  375. source/includes/CarlaDefines.h \
  376. $(DESTDIR)$(PREFIX)/include/carla/includes/
  377. # Install resources (main)
  378. install -m 755 \
  379. bin/resources/carla-plugin \
  380. bin/resources/*-ui \
  381. $(DESTDIR)$(PREFIX)/share/carla/resources/
  382. install -m 644 \
  383. bin/resources/nekofilter/*.png \
  384. $(DESTDIR)$(PREFIX)/share/carla/resources/nekofilter/
  385. install -m 644 \
  386. bin/resources/zynaddsubfx/*.png \
  387. $(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/
  388. # Install resources (re-use python files)
  389. $(LINK) $(PREFIX)/share/carla/carla_backend.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  390. $(LINK) $(PREFIX)/share/carla/carla_config.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  391. $(LINK) $(PREFIX)/share/carla/carla_database.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  392. $(LINK) $(PREFIX)/share/carla/carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  393. $(LINK) $(PREFIX)/share/carla/carla_rack.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  394. $(LINK) $(PREFIX)/share/carla/carla_settings.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  395. $(LINK) $(PREFIX)/share/carla/carla_skin.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  396. $(LINK) $(PREFIX)/share/carla/carla_shared.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  397. $(LINK) $(PREFIX)/share/carla/carla_style.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  398. $(LINK) $(PREFIX)/share/carla/carla_widgets.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  399. $(LINK) $(PREFIX)/share/carla/canvaspreviewframe.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  400. $(LINK) $(PREFIX)/share/carla/digitalpeakmeter.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  401. $(LINK) $(PREFIX)/share/carla/externalui.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  402. $(LINK) $(PREFIX)/share/carla/ledbutton.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  403. $(LINK) $(PREFIX)/share/carla/paramspinbox.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  404. $(LINK) $(PREFIX)/share/carla/patchcanvas.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  405. $(LINK) $(PREFIX)/share/carla/patchcanvas_theme.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  406. $(LINK) $(PREFIX)/share/carla/pixmapbutton.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  407. $(LINK) $(PREFIX)/share/carla/pixmapdial.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  408. $(LINK) $(PREFIX)/share/carla/pixmapkeyboard.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  409. $(LINK) $(PREFIX)/share/carla/resources_rc.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  410. $(LINK) $(PREFIX)/share/carla/ui_carla_about.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  411. $(LINK) $(PREFIX)/share/carla/ui_carla_database.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  412. $(LINK) $(PREFIX)/share/carla/ui_carla_edit.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  413. $(LINK) $(PREFIX)/share/carla/ui_carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  414. $(LINK) $(PREFIX)/share/carla/ui_carla_parameter.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  415. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_basic_fx.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  416. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_calf.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  417. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_default.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  418. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_zita.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  419. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_zynfx.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  420. $(LINK) $(PREFIX)/share/carla/ui_carla_refresh.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  421. $(LINK) $(PREFIX)/share/carla/ui_carla_settings.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  422. $(LINK) $(PREFIX)/share/carla/ui_carla_settings_driver.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  423. $(LINK) $(PREFIX)/share/carla/ui_inputdialog_value.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  424. # Link resources for lv2 plugin
  425. rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/resources
  426. $(LINK) $(PREFIX)/share/carla/resources/ $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  427. # Adjust PREFIX value in script files
  428. sed -i "s?X-PREFIX-X?$(PREFIX)?" \
  429. $(DESTDIR)$(PREFIX)/bin/carla \
  430. $(DESTDIR)$(PREFIX)/bin/carla-database \
  431. $(DESTDIR)$(PREFIX)/bin/carla-patchbay \
  432. $(DESTDIR)$(PREFIX)/bin/carla-rack \
  433. $(DESTDIR)$(PREFIX)/bin/carla-settings \
  434. $(DESTDIR)$(PREFIX)/lib/pkgconfig/carla-standalone.pc
  435. # $(DESTDIR)$(PREFIX)/bin/carla-single \
  436. # $(DESTDIR)$(PREFIX)/bin/carla-control \
  437. # --------------------------------------------------------------
  438. uninstall:
  439. rm -f $(DESTDIR)$(PREFIX)/bin/carla*
  440. rm -f $(DESTDIR)$(PREFIX)/lib/pkgconfig/carla-standalone.pc
  441. rm -f $(DESTDIR)$(PREFIX)/share/applications/carla.desktop
  442. rm -f $(DESTDIR)$(PREFIX)/share/applications/carla-control.desktop
  443. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla.png
  444. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla-control.png
  445. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg
  446. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg
  447. rm -f $(DESTDIR)$(PREFIX)/share/mime/packages/carla.xml
  448. rm -rf $(DESTDIR)$(PREFIX)/include/carla/
  449. rm -rf $(DESTDIR)$(PREFIX)/lib/carla/
  450. rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  451. rm -rf $(DESTDIR)$(PREFIX)/share/carla/
  452. # --------------------------------------------------------------
  453. USE_COLORS=true
  454. USE_VST3=false
  455. ifeq ($(HAIKU),true)
  456. USE_COLORS=false
  457. endif
  458. ifeq ($(USE_COLORS),true)
  459. ANS_NO=\033[31m NO \033[0m
  460. ANS_YES=\033[32m YES \033[0m
  461. mS=\033[33m[
  462. mZ=\033[30;1m[
  463. mE=]\033[0m
  464. tS=\033[36m
  465. tE=\033[0m
  466. else
  467. ANS_NO=" NO "
  468. ANS_YES=" YES "
  469. endif
  470. features:
  471. @echo "$(tS)---> Engine drivers $(tE)"
  472. @echo "JACK: $(ANS_YES)"
  473. ifeq ($(LINUX),true)
  474. ifeq ($(HAVE_ALSA),true)
  475. @echo "ALSA: $(ANS_YES)"
  476. else
  477. @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)"
  478. endif
  479. ifeq ($(HAVE_PULSEAUDIO),true)
  480. @echo "PulseAudio: $(ANS_YES)"
  481. else
  482. @echo "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)"
  483. endif
  484. else
  485. @echo "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)"
  486. @echo "PulseAudio: $(ANS_NO) $(mZ)Linux only$(mE)"
  487. endif
  488. ifeq ($(MACOS),true)
  489. @echo "CoreAudio: $(ANS_YES)"
  490. else
  491. @echo "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)"
  492. endif
  493. ifeq ($(WIN32),true)
  494. @echo "ASIO: $(ANS_YES)"
  495. @echo "DirectSound:$(ANS_YES)"
  496. else
  497. @echo "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)"
  498. @echo "DirectSound:$(ANS_NO) $(mZ)Windows only$(mE)"
  499. endif
  500. @echo ""
  501. @echo "$(tS)---> Plugin formats: $(tE)"
  502. @echo "Internal:$(ANS_YES)"
  503. @echo "LADSPA: $(ANS_YES)"
  504. @echo "DSSI: $(ANS_YES)"
  505. @echo "LV2: $(ANS_YES)"
  506. @echo "VST: $(ANS_YES)"
  507. ifeq ($(MACOS_OR_WIN32),true)
  508. @echo "VST3: $(ANS_YES)"
  509. else
  510. @echo "VST3: $(ANS_NO) $(mZ)Windows and MacOS only$(mE)"
  511. endif
  512. ifeq ($(MACOS),true)
  513. @echo "AU: $(ANS_YES)"
  514. else
  515. @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)"
  516. endif
  517. @echo ""
  518. @echo "$(tS)---> LV2 UI toolkit support: $(tE)"
  519. # @echo "External:$(ANS_YES) (direct+bridge)"
  520. ifeq ($(HAVE_GTK2),true)
  521. @echo "Gtk2: $(ANS_YES) (bridge)"
  522. else
  523. @echo "Gtk2: $(ANS_NO) $(mS)Gtk2 missing$(mE)"
  524. endif
  525. ifeq ($(HAVE_GTK3),true)
  526. @echo "Gtk3: $(ANS_YES) (bridge)"
  527. else
  528. @echo "Gtk3: $(ANS_NO) $(mS)Gtk3 missing$(mE)"
  529. endif
  530. ifeq ($(HAVE_QT4),true)
  531. @echo "Qt4: $(ANS_YES) (bridge)"
  532. else
  533. @echo "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)"
  534. endif
  535. ifeq ($(HAVE_QT5),true)
  536. @echo "Qt5: $(ANS_YES) (bridge)"
  537. else
  538. @echo "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)"
  539. endif
  540. ifeq ($(HAVE_X11),true)
  541. @echo "X11: $(ANS_YES) (direct+bridge)"
  542. else
  543. @echo "X11: $(ANS_NO) $(mS)X11 missing$(mE)"
  544. endif
  545. # ifeq ($(MACOS),true)
  546. # @echo "Cocoa: $(ANS_YES) (direct+bridge)"
  547. # else
  548. # @echo "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)"
  549. # endif
  550. # ifeq ($(WIN32),true)
  551. # @echo "Windows: $(ANS_YES) (direct+bridge)"
  552. # else
  553. # @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)"
  554. # endif
  555. @echo ""
  556. @echo "$(tS)---> File formats: $(tE)"
  557. ifeq ($(HAVE_LINUXSAMPLER),true)
  558. @echo "GIG:$(ANS_YES)"
  559. else
  560. @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing$(mE)"
  561. endif
  562. ifeq ($(HAVE_FLUIDSYNTH),true)
  563. @echo "SF2:$(ANS_YES)"
  564. else
  565. @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)"
  566. endif
  567. ifeq ($(HAVE_LINUXSAMPLER),true)
  568. @echo "SFZ:$(ANS_YES)"
  569. else
  570. @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing$(mE)"
  571. endif
  572. @echo ""
  573. @echo "$(tS)---> Internal plugins: $(tE)"
  574. ifneq ($(WIN32),true)
  575. @echo "Carla-Rack: $(ANS_YES)"
  576. else
  577. @echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  578. endif
  579. ifeq ($(HAVE_ZYN_DEPS),true)
  580. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  581. @echo "ZynAddSubFX:$(ANS_YES) (with UI)"
  582. else
  583. @echo "ZynAddSubFX:$(ANS_YES) (without UI) $(mS)NTK missing$(mE)"
  584. endif
  585. else
  586. @echo "ZynAddSubFX:$(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"
  587. endif
  588. # --------------------------------------------------------------
  589. .FORCE:
  590. .PHONY: .FORCE
  591. # --------------------------------------------------------------