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

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