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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710
  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. WIDGETS: $(WIDGETS)
  259. source/%.py: source/widgets/%.py
  260. $(LINK) widgets/$*.py $@
  261. # --------------------------------------------------------------
  262. clean:
  263. $(MAKE) clean -C source/backend
  264. $(MAKE) clean -C source/bridges-plugin
  265. $(MAKE) clean -C source/bridges-ui
  266. $(MAKE) clean -C source/discovery
  267. $(MAKE) clean -C source/modules
  268. $(MAKE) clean -C source/plugin
  269. rm -f $(RES)
  270. rm -f $(UIs)
  271. rm -f $(WIDGETS)
  272. rm -f *~ source/*~ source/*.pyc source/*_rc.py source/ui_*.py
  273. debug:
  274. $(MAKE) DEBUG=true
  275. doxygen:
  276. $(MAKE) doxygen -C source/backend
  277. # --------------------------------------------------------------
  278. install:
  279. # Create directories
  280. install -d $(DESTDIR)$(PREFIX)/bin/
  281. install -d $(DESTDIR)$(PREFIX)/lib/carla/
  282. install -d $(DESTDIR)$(PREFIX)/lib/carla/styles/
  283. install -d $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  284. install -d $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/styles/
  285. install -d $(DESTDIR)$(PREFIX)/lib/pkgconfig/
  286. install -d $(DESTDIR)$(PREFIX)/include/carla/
  287. install -d $(DESTDIR)$(PREFIX)/include/carla/includes/
  288. install -d $(DESTDIR)$(PREFIX)/share/applications/
  289. install -d $(DESTDIR)$(PREFIX)/share/carla/
  290. install -d $(DESTDIR)$(PREFIX)/share/carla/resources/
  291. install -d $(DESTDIR)$(PREFIX)/share/carla/resources/nekofilter/
  292. install -d $(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/
  293. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  294. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  295. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  296. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  297. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  298. install -d $(DESTDIR)$(PREFIX)/share/mime/packages/
  299. # Install script files
  300. install -m 755 \
  301. data/carla \
  302. data/carla-database \
  303. data/carla-patchbay \
  304. data/carla-rack \
  305. data/carla-settings \
  306. $(DESTDIR)$(PREFIX)/bin/
  307. # data/carla-control \
  308. # data/carla-single \
  309. # Install desktop files
  310. install -m 644 data/*.desktop $(DESTDIR)$(PREFIX)/share/applications/
  311. # Install icons, 16x16
  312. install -m 644 resources/16x16/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  313. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  314. # Install icons, 48x48
  315. install -m 644 resources/48x48/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  316. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  317. # Install icons, 128x128
  318. install -m 644 resources/128x128/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  319. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  320. # Install icons, 256x256
  321. install -m 644 resources/256x256/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  322. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  323. # Install icons, scalable
  324. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  325. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  326. # Install mime package
  327. install -m 644 data/carla.xml $(DESTDIR)$(PREFIX)/share/mime/packages/
  328. # Install pkg-config file
  329. install -m 644 data/carla-standalone.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig/
  330. # Install backend
  331. install -m 644 \
  332. bin/libcarla_standalone2.* \
  333. $(DESTDIR)$(PREFIX)/lib/carla/
  334. # Install lv2 plugin
  335. install -m 644 \
  336. bin/carla-native.lv2/carla-native.* \
  337. bin/carla-native.lv2/*.ttl \
  338. $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  339. # Install binaries (backend)
  340. install -m 755 \
  341. bin/*bridge-* \
  342. bin/carla-discovery-* \
  343. $(DESTDIR)$(PREFIX)/lib/carla/
  344. # Install binaries (lv2 plugin)
  345. install -m 755 \
  346. bin/*bridge-* \
  347. bin/carla-discovery-* \
  348. $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  349. # Install theme
  350. install -m 644 \
  351. bin/styles/* \
  352. $(DESTDIR)$(PREFIX)/lib/carla/styles/
  353. # Install theme (lv2 plugin)
  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. $(LINK) $(PREFIX)/share/carla/carla_backend.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  388. $(LINK) $(PREFIX)/share/carla/carla_config.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  389. $(LINK) $(PREFIX)/share/carla/carla_database.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  390. $(LINK) $(PREFIX)/share/carla/carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  391. $(LINK) $(PREFIX)/share/carla/carla_rack.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  392. $(LINK) $(PREFIX)/share/carla/carla_settings.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  393. $(LINK) $(PREFIX)/share/carla/carla_skin.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  394. $(LINK) $(PREFIX)/share/carla/carla_shared.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  395. $(LINK) $(PREFIX)/share/carla/carla_style.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  396. $(LINK) $(PREFIX)/share/carla/carla_widgets.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  397. $(LINK) $(PREFIX)/share/carla/canvaspreviewframe.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  398. $(LINK) $(PREFIX)/share/carla/digitalpeakmeter.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  399. $(LINK) $(PREFIX)/share/carla/externalui.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  400. $(LINK) $(PREFIX)/share/carla/ledbutton.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  401. $(LINK) $(PREFIX)/share/carla/paramspinbox.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  402. $(LINK) $(PREFIX)/share/carla/patchcanvas.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  403. $(LINK) $(PREFIX)/share/carla/patchcanvas_theme.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  404. $(LINK) $(PREFIX)/share/carla/pixmapbutton.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  405. $(LINK) $(PREFIX)/share/carla/pixmapdial.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  406. $(LINK) $(PREFIX)/share/carla/pixmapkeyboard.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  407. $(LINK) $(PREFIX)/share/carla/resources_rc.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  408. $(LINK) $(PREFIX)/share/carla/ui_carla_about.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  409. $(LINK) $(PREFIX)/share/carla/ui_carla_database.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  410. $(LINK) $(PREFIX)/share/carla/ui_carla_edit.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  411. $(LINK) $(PREFIX)/share/carla/ui_carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  412. $(LINK) $(PREFIX)/share/carla/ui_carla_parameter.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  413. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_basic_fx.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  414. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_calf.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  415. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_default.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  416. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_zita.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  417. $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_zynfx.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  418. $(LINK) $(PREFIX)/share/carla/ui_carla_refresh.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  419. $(LINK) $(PREFIX)/share/carla/ui_carla_settings.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  420. $(LINK) $(PREFIX)/share/carla/ui_carla_settings_driver.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  421. $(LINK) $(PREFIX)/share/carla/ui_inputdialog_value.py $(DESTDIR)$(PREFIX)/share/carla/resources/
  422. # Link resources for lv2 plugin
  423. rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/resources
  424. $(LINK) $(PREFIX)/share/carla/resources/ $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  425. # Adjust PREFIX value in script files
  426. sed -i "s?X-PREFIX-X?$(PREFIX)?" \
  427. $(DESTDIR)$(PREFIX)/bin/carla \
  428. $(DESTDIR)$(PREFIX)/bin/carla-database \
  429. $(DESTDIR)$(PREFIX)/bin/carla-patchbay \
  430. $(DESTDIR)$(PREFIX)/bin/carla-rack \
  431. $(DESTDIR)$(PREFIX)/bin/carla-settings \
  432. $(DESTDIR)$(PREFIX)/lib/pkgconfig/carla-standalone.pc
  433. # $(DESTDIR)$(PREFIX)/bin/carla-single \
  434. # $(DESTDIR)$(PREFIX)/bin/carla-control \
  435. # --------------------------------------------------------------
  436. uninstall:
  437. rm -f $(DESTDIR)$(PREFIX)/bin/carla*
  438. rm -f $(DESTDIR)$(PREFIX)/lib/pkgconfig/carla-standalone.pc
  439. rm -f $(DESTDIR)$(PREFIX)/share/applications/carla.desktop
  440. rm -f $(DESTDIR)$(PREFIX)/share/applications/carla-control.desktop
  441. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla.png
  442. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla-control.png
  443. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg
  444. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg
  445. rm -f $(DESTDIR)$(PREFIX)/share/mime/packages/carla.xml
  446. rm -rf $(DESTDIR)$(PREFIX)/include/carla/
  447. rm -rf $(DESTDIR)$(PREFIX)/lib/carla/
  448. rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
  449. rm -rf $(DESTDIR)$(PREFIX)/share/carla/
  450. # --------------------------------------------------------------
  451. USE_COLORS=true
  452. USE_VST3=false
  453. ifeq ($(HAIKU),true)
  454. USE_COLORS=false
  455. endif
  456. ifeq ($(USE_COLORS),true)
  457. ANS_NO=\033[31m NO \033[0m
  458. ANS_YES=\033[32m YES \033[0m
  459. mS=\033[33m[
  460. mZ=\033[30;1m[
  461. mE=]\033[0m
  462. tS=\033[36m
  463. tE=\033[0m
  464. else
  465. ANS_NO=" NO "
  466. ANS_YES=" YES "
  467. endif
  468. features:
  469. @echo "$(tS)---> Engine drivers $(tE)"
  470. @echo "JACK: $(ANS_YES)"
  471. ifeq ($(LINUX),true)
  472. ifeq ($(HAVE_ALSA),true)
  473. @echo "ALSA: $(ANS_YES)"
  474. else
  475. @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)"
  476. endif
  477. ifeq ($(HAVE_PULSEAUDIO),true)
  478. @echo "PulseAudio: $(ANS_YES)"
  479. else
  480. @echo "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)"
  481. endif
  482. else
  483. @echo "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)"
  484. @echo "PulseAudio: $(ANS_NO) $(mZ)Linux only$(mE)"
  485. endif
  486. ifeq ($(MACOS),true)
  487. @echo "CoreAudio: $(ANS_YES)"
  488. else
  489. @echo "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)"
  490. endif
  491. ifeq ($(WIN32),true)
  492. @echo "ASIO: $(ANS_YES)"
  493. @echo "DirectSound:$(ANS_YES)"
  494. else
  495. @echo "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)"
  496. @echo "DirectSound:$(ANS_NO) $(mZ)Windows only$(mE)"
  497. endif
  498. @echo ""
  499. @echo "$(tS)---> Plugin formats: $(tE)"
  500. @echo "Internal:$(ANS_YES)"
  501. @echo "LADSPA: $(ANS_YES)"
  502. @echo "DSSI: $(ANS_YES)"
  503. @echo "LV2: $(ANS_YES)"
  504. @echo "VST: $(ANS_YES)"
  505. ifeq ($(MACOS_OR_WIN32),true)
  506. @echo "VST3: $(ANS_YES)"
  507. else
  508. @echo "VST3: $(ANS_NO) $(mZ)Windows and MacOS only$(mE)"
  509. endif
  510. ifeq ($(MACOS),true)
  511. @echo "AU: $(ANS_YES)"
  512. else
  513. @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)"
  514. endif
  515. @echo ""
  516. @echo "$(tS)---> LV2 UI toolkit support: $(tE)"
  517. # @echo "External:$(ANS_YES) (direct+bridge)"
  518. ifeq ($(HAVE_GTK2),true)
  519. @echo "Gtk2: $(ANS_YES) (bridge)"
  520. else
  521. @echo "Gtk2: $(ANS_NO) $(mS)Gtk2 missing$(mE)"
  522. endif
  523. ifeq ($(HAVE_GTK3),true)
  524. @echo "Gtk3: $(ANS_YES) (bridge)"
  525. else
  526. @echo "Gtk3: $(ANS_NO) $(mS)Gtk3 missing$(mE)"
  527. endif
  528. ifeq ($(HAVE_QT4),true)
  529. @echo "Qt4: $(ANS_YES) (bridge)"
  530. else
  531. @echo "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)"
  532. endif
  533. ifeq ($(HAVE_QT5),true)
  534. @echo "Qt5: $(ANS_YES) (bridge)"
  535. else
  536. @echo "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)"
  537. endif
  538. ifeq ($(HAVE_X11),true)
  539. @echo "X11: $(ANS_YES) (direct+bridge)"
  540. else
  541. @echo "X11: $(ANS_NO) $(mS)X11 missing$(mE)"
  542. endif
  543. # ifeq ($(MACOS),true)
  544. # @echo "Cocoa: $(ANS_YES) (direct+bridge)"
  545. # else
  546. # @echo "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)"
  547. # endif
  548. # ifeq ($(WIN32),true)
  549. # @echo "Windows: $(ANS_YES) (direct+bridge)"
  550. # else
  551. # @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)"
  552. # endif
  553. @echo ""
  554. @echo "$(tS)---> File formats: $(tE)"
  555. ifeq ($(HAVE_LINUXSAMPLER),true)
  556. @echo "GIG:$(ANS_YES)"
  557. else
  558. @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing$(mE)"
  559. endif
  560. ifeq ($(HAVE_FLUIDSYNTH),true)
  561. @echo "SF2:$(ANS_YES)"
  562. else
  563. @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)"
  564. endif
  565. ifeq ($(HAVE_LINUXSAMPLER),true)
  566. @echo "SFZ:$(ANS_YES)"
  567. else
  568. @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing$(mE)"
  569. endif
  570. @echo ""
  571. @echo "$(tS)---> Internal plugins: $(tE)"
  572. ifneq ($(WIN32),true)
  573. @echo "Carla-Rack: $(ANS_YES)"
  574. else
  575. @echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
  576. endif
  577. ifeq ($(HAVE_ZYN_DEPS),true)
  578. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  579. @echo "ZynAddSubFX:$(ANS_YES) (with UI)"
  580. else
  581. @echo "ZynAddSubFX:$(ANS_YES) (without UI) $(mS)NTK missing$(mE)"
  582. endif
  583. else
  584. @echo "ZynAddSubFX:$(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"
  585. endif
  586. # --------------------------------------------------------------
  587. .FORCE:
  588. .PHONY: .FORCE
  589. # --------------------------------------------------------------