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

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