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