Collection of tools useful for audio production
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.

422 lines
16KB

  1. #!/usr/bin/make -f
  2. # Makefile for Cadence #
  3. # ---------------------- #
  4. # Created by falkTX
  5. #
  6. PREFIX = /usr/local
  7. DESTDIR =
  8. SED_PREFIX = $(shell echo $(PREFIX) | sed "s/\//\\\\\\\\\//g")
  9. PYUIC = pyuic4
  10. PYRCC = pyrcc4 -py3
  11. # Detect X11 rules dir
  12. ifeq "$(wildcard /etc/X11/xinit/xinitrc.d/ )" ""
  13. X11_RC_DIR = $(DESTDIR)/etc/X11/Xsession.d/
  14. else
  15. X11_RC_DIR = $(DESTDIR)/etc/X11/xinit/xinitrc.d/
  16. endif
  17. all: UI RES CPP
  18. # ------------------------------------------------------------------------------------------------------------------------------------------------------
  19. UI: cadence catarina catia claudia carla tools
  20. cadence: src/ui_cadence.py \
  21. src/ui_cadence_tb_jack.py src/ui_cadence_tb_alsa.py src/ui_cadence_tb_a2j.py src/ui_cadence_tb_pa.py \
  22. src/ui_cadence_rwait.py
  23. catarina: src/ui_catarina.py \
  24. src/ui_catarina_addgroup.py src/ui_catarina_removegroup.py src/ui_catarina_renamegroup.py \
  25. src/ui_catarina_addport.py src/ui_catarina_removeport.py src/ui_catarina_renameport.py \
  26. src/ui_catarina_connectports.py src/ui_catarina_disconnectports.py
  27. catia: src/ui_catia.py
  28. claudia: src/ui_claudia.py \
  29. src/ui_claudia_studioname.py src/ui_claudia_studiolist.py \
  30. src/ui_claudia_createroom.py src/ui_claudia_projectname.py src/ui_claudia_projectproperties.py \
  31. src/ui_claudia_runcustom.py src/ui_claudia_launcher.py src/ui_claudia_launcher_app.py
  32. carla: src/ui_carla.py src/ui_carla_control.py \
  33. src/ui_carla_about.py src/ui_carla_database.py src/ui_carla_edit.py src/ui_carla_parameter.py src/ui_carla_plugin.py src/ui_carla_refresh.py \
  34. src/ui_inputdialog_value.py
  35. caitlyn: src/ui_caitlyn.py
  36. tools: \
  37. src/ui_logs.py src/ui_render.py \
  38. src/ui_settings_app.py src/ui_settings_jack.py
  39. src/ui_cadence.py: resources/ui/cadence.ui
  40. $(PYUIC) $< -o $@
  41. src/ui_cadence_tb_jack.py: resources/ui/cadence_tb_jack.ui
  42. $(PYUIC) $< -o $@
  43. src/ui_cadence_tb_alsa.py: resources/ui/cadence_tb_alsa.ui
  44. $(PYUIC) $< -o $@
  45. src/ui_cadence_tb_a2j.py: resources/ui/cadence_tb_a2j.ui
  46. $(PYUIC) $< -o $@
  47. src/ui_cadence_tb_pa.py: resources/ui/cadence_tb_pa.ui
  48. $(PYUIC) $< -o $@
  49. src/ui_cadence_rwait.py: resources/ui/cadence_rwait.ui
  50. $(PYUIC) $< -o $@
  51. src/ui_catarina.py: resources/ui/catarina.ui
  52. $(PYUIC) $< -o $@
  53. src/ui_catarina_addgroup.py: resources/ui/catarina_addgroup.ui
  54. $(PYUIC) $< -o $@
  55. src/ui_catarina_removegroup.py: resources/ui/catarina_removegroup.ui
  56. $(PYUIC) $< -o $@
  57. src/ui_catarina_renamegroup.py: resources/ui/catarina_renamegroup.ui
  58. $(PYUIC) $< -o $@
  59. src/ui_catarina_addport.py: resources/ui/catarina_addport.ui
  60. $(PYUIC) $< -o $@
  61. src/ui_catarina_removeport.py: resources/ui/catarina_removeport.ui
  62. $(PYUIC) $< -o $@
  63. src/ui_catarina_renameport.py: resources/ui/catarina_renameport.ui
  64. $(PYUIC) $< -o $@
  65. src/ui_catarina_connectports.py: resources/ui/catarina_connectports.ui
  66. $(PYUIC) $< -o $@
  67. src/ui_catarina_disconnectports.py: resources/ui/catarina_disconnectports.ui
  68. $(PYUIC) $< -o $@
  69. src/ui_catia.py: resources/ui/catia.ui
  70. $(PYUIC) $< -o $@
  71. src/ui_claudia.py: resources/ui/claudia.ui
  72. $(PYUIC) $< -o $@
  73. src/ui_claudia_studioname.py: resources/ui/claudia_studioname.ui
  74. $(PYUIC) $< -o $@
  75. src/ui_claudia_studiolist.py: resources/ui/claudia_studiolist.ui
  76. $(PYUIC) $< -o $@
  77. src/ui_claudia_createroom.py: resources/ui/claudia_createroom.ui
  78. $(PYUIC) $< -o $@
  79. src/ui_claudia_projectname.py: resources/ui/claudia_projectname.ui
  80. $(PYUIC) $< -o $@
  81. src/ui_claudia_projectproperties.py: resources/ui/claudia_projectproperties.ui
  82. $(PYUIC) $< -o $@
  83. src/ui_claudia_runcustom.py: resources/ui/claudia_runcustom.ui
  84. $(PYUIC) $< -o $@
  85. src/ui_claudia_launcher.py: resources/ui/claudia_launcher.ui
  86. $(PYUIC) $< -o $@
  87. src/ui_claudia_launcher_app.py: resources/ui/claudia_launcher_app.ui
  88. $(PYUIC) $< -o $@
  89. src/ui_caitlyn.py: resources/ui/caitlyn.ui
  90. $(PYUIC) $< -o $@
  91. src/ui_carla.py: resources/ui/carla.ui
  92. $(PYUIC) $< -o $@
  93. src/ui_carla_control.py: resources/ui/carla_control.ui
  94. $(PYUIC) $< -o $@
  95. src/ui_carla_about.py: resources/ui/carla_about.ui
  96. $(PYUIC) $< -o $@
  97. src/ui_carla_database.py: resources/ui/carla_database.ui
  98. $(PYUIC) $< -o $@
  99. src/ui_carla_edit.py: resources/ui/carla_edit.ui
  100. $(PYUIC) $< -o $@
  101. src/ui_carla_parameter.py: resources/ui/carla_parameter.ui
  102. $(PYUIC) $< -o $@
  103. src/ui_carla_plugin.py: resources/ui/carla_plugin.ui
  104. $(PYUIC) $< -o $@
  105. src/ui_carla_refresh.py: resources/ui/carla_refresh.ui
  106. $(PYUIC) $< -o $@
  107. src/ui_logs.py: resources/ui/logs.ui
  108. $(PYUIC) $< -o $@
  109. src/ui_render.py: resources/ui/render.ui
  110. $(PYUIC) $< -o $@
  111. src/ui_settings_app.py: resources/ui/settings_app.ui
  112. $(PYUIC) $< -o $@
  113. src/ui_settings_jack.py: resources/ui/settings_jack.ui
  114. $(PYUIC) $< -o $@
  115. src/ui_inputdialog_value.py: resources/ui/inputdialog_value.ui
  116. $(PYUIC) $< -o $@
  117. # ------------------------------------------------------------------------------------------------------------------------------------------------------
  118. RES: src/resources_rc.py
  119. src/resources_rc.py: resources/resources.qrc
  120. $(PYRCC) $< -o $@
  121. # ------------------------------------------------------------------------------------------------------------------------------------------------------
  122. CPP: caitlib carla-backend carla-bridge carla-discovery jackmeter xycontroller
  123. caitlib:
  124. $(MAKE) -C c++/caitlib
  125. carla-backend: carla-engine carla-native carla-plugin
  126. $(MAKE) -C c++/carla-backend
  127. carla-bridge:
  128. $(MAKE) -C c++/carla-bridge
  129. carla-discovery:
  130. $(MAKE) -C c++/carla-discovery NATIVE=1
  131. carla-engine:
  132. $(MAKE) -C c++/carla-engine
  133. carla-lilv:
  134. $(MAKE) -C c++/carla-lilv
  135. carla-native:
  136. $(MAKE) -C c++/carla-native
  137. carla-plugin:
  138. $(MAKE) -C c++/carla-plugin
  139. carla-rtmempool:
  140. $(MAKE) -C c++/carla-rtmempool
  141. jackmeter:
  142. $(MAKE) -C c++/jackmeter
  143. xycontroller:
  144. $(MAKE) -C c++/xycontroller
  145. # ------------------------------------------------------------------------------------------------------------------------------------------------------
  146. debug:
  147. $(MAKE) DEBUG=true
  148. doxygen:
  149. $(MAKE) doxygen -C c++/caitlib
  150. $(MAKE) doxygen -C c++/carla-backend
  151. $(MAKE) doxygen -C c++/carla-bridge
  152. $(MAKE) doxygen -C c++/carla-engine
  153. $(MAKE) doxygen -C c++/carla-native
  154. $(MAKE) doxygen -C c++/carla-plugin
  155. # ------------------------------------------------------------------------------------------------------------------------------------------------------
  156. posix32:
  157. $(MAKE) -C c++/carla-bridge posix32
  158. $(MAKE) -C c++/carla-discovery posix32
  159. posix64:
  160. $(MAKE) -C c++/carla-bridge posix64
  161. $(MAKE) -C c++/carla-discovery posix64
  162. win32:
  163. $(MAKE) -C c++/carla-bridge win32
  164. $(MAKE) -C c++/carla-discovery win32
  165. win64:
  166. $(MAKE) -C c++/carla-bridge win64
  167. $(MAKE) -C c++/carla-discovery win64
  168. wine32:
  169. $(MAKE) -C c++/carla-jackbridge wine32
  170. cp c++/carla-jackbridge/libcarla-jackbridge-win32.dll.so c++/carla-bridge/libcarla-jackbridge-win32.dll
  171. wine64:
  172. $(MAKE) -C c++/carla-jackbridge wine64
  173. cp c++/carla-jackbridge/libcarla-jackbridge-win64.dll.so c++/carla-bridge/libcarla-jackbridge-win64.dll
  174. # ------------------------------------------------------------------------------------------------------------------------------------------------------
  175. clean:
  176. $(MAKE) clean -C c++/caitlib
  177. $(MAKE) clean -C c++/carla-backend
  178. $(MAKE) clean -C c++/carla-bridge
  179. $(MAKE) clean -C c++/carla-discovery
  180. $(MAKE) clean -C c++/carla-engine
  181. $(MAKE) clean -C c++/carla-jackbridge
  182. $(MAKE) clean -C c++/carla-lilv
  183. $(MAKE) clean -C c++/carla-native
  184. $(MAKE) clean -C c++/carla-plugin
  185. $(MAKE) clean -C c++/carla-rtmempool
  186. $(MAKE) clean -C c++/jackmeter
  187. $(MAKE) clean -C c++/xycontroller
  188. rm -f *~ src/*~ src/*.pyc src/ui_*.py src/resources_rc.py
  189. rm -rf c++/*/doxygen
  190. install:
  191. # Create directories
  192. install -d $(DESTDIR)$(PREFIX)/bin/
  193. install -d $(DESTDIR)$(PREFIX)/lib/cadence/
  194. install -d $(DESTDIR)$(PREFIX)/share/applications/
  195. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  196. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  197. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  198. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  199. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  200. install -d $(DESTDIR)$(PREFIX)/share/cadence/
  201. install -d $(DESTDIR)$(PREFIX)/share/cadence/src/
  202. install -d $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
  203. install -d $(DESTDIR)$(PREFIX)/share/cadence/icons/
  204. install -d $(DESTDIR)$(PREFIX)/share/cadence/templates/
  205. install -d $(X11_RC_DIR)
  206. # Install script files and binaries
  207. install -m 755 \
  208. data/cadence \
  209. data/cadence-aloop-daemon \
  210. data/cadence-jacksettings \
  211. data/cadence-logs \
  212. data/cadence-pulse2jack \
  213. data/cadence-render \
  214. data/cadence-session-start \
  215. data/catarina \
  216. data/catia \
  217. data/claudia \
  218. data/claudia-launcher \
  219. data/carla \
  220. data/carla-control \
  221. c++/jackmeter/cadence-jackmeter \
  222. c++/xycontroller/cadence-xycontroller \
  223. $(DESTDIR)$(PREFIX)/bin/
  224. # Install desktop files
  225. install -m 644 data/*.desktop $(DESTDIR)$(PREFIX)/share/applications/
  226. # Install icons, 16x16
  227. install -m 644 resources/16x16/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  228. install -m 644 resources/16x16/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  229. install -m 644 resources/16x16/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  230. install -m 644 resources/16x16/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  231. install -m 644 resources/16x16/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  232. install -m 644 resources/16x16/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  233. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  234. # Install icons, 48x48
  235. install -m 644 resources/48x48/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  236. install -m 644 resources/48x48/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  237. install -m 644 resources/48x48/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  238. install -m 644 resources/48x48/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  239. install -m 644 resources/48x48/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  240. install -m 644 resources/48x48/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  241. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  242. # Install icons, 128x128
  243. install -m 644 resources/128x128/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  244. install -m 644 resources/128x128/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  245. install -m 644 resources/128x128/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  246. install -m 644 resources/128x128/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  247. install -m 644 resources/128x128/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  248. install -m 644 resources/128x128/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  249. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  250. # Install icons, 256x256
  251. install -m 644 resources/256x256/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  252. install -m 644 resources/256x256/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  253. install -m 644 resources/256x256/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  254. install -m 644 resources/256x256/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  255. install -m 644 resources/256x256/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  256. install -m 644 resources/256x256/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  257. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  258. # Install icons, scalable
  259. install -m 644 resources/scalable/cadence.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  260. install -m 644 resources/scalable/catarina.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  261. install -m 644 resources/scalable/catia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  262. install -m 644 resources/scalable/claudia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  263. install -m 644 resources/scalable/claudia-launcher.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  264. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  265. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  266. # Install main code
  267. install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/
  268. install -m 755 \
  269. c++/caitlib/*.so \
  270. c++/carla-backend/*.so \
  271. c++/carla-bridge/carla-bridge-* \
  272. c++/carla-discovery/carla-discovery-* \
  273. $(DESTDIR)$(PREFIX)/lib/cadence/
  274. # Install addtional stuff for Cadence
  275. install -m 644 data/pulse2jack/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
  276. install -m 644 data/99cadence-session-start $(X11_RC_DIR)
  277. # Install addtional stuff for Claudia
  278. cp -r data/icons/* $(DESTDIR)$(PREFIX)/share/cadence/icons/
  279. cp -r data/templates/* $(DESTDIR)$(PREFIX)/share/cadence/templates/
  280. # Adjust PREFIX value in script files
  281. sed -i "s/X-PREFIX-X/$(SED_PREFIX)/" \
  282. $(DESTDIR)$(PREFIX)/bin/cadence \
  283. $(DESTDIR)$(PREFIX)/bin/cadence-aloop-daemon \
  284. $(DESTDIR)$(PREFIX)/bin/cadence-jacksettings \
  285. $(DESTDIR)$(PREFIX)/bin/cadence-logs \
  286. $(DESTDIR)$(PREFIX)/bin/cadence-pulse2jack \
  287. $(DESTDIR)$(PREFIX)/bin/cadence-render \
  288. $(DESTDIR)$(PREFIX)/bin/cadence-session-start \
  289. $(DESTDIR)$(PREFIX)/bin/catarina \
  290. $(DESTDIR)$(PREFIX)/bin/catia \
  291. $(DESTDIR)$(PREFIX)/bin/claudia \
  292. $(DESTDIR)$(PREFIX)/bin/claudia-launcher \
  293. $(DESTDIR)$(PREFIX)/bin/carla \
  294. $(DESTDIR)$(PREFIX)/bin/carla-control \
  295. $(X11_RC_DIR)/99cadence-session-start
  296. uninstall:
  297. rm -f $(DESTDIR)$(PREFIX)/bin/cadence*
  298. rm -f $(DESTDIR)$(PREFIX)/bin/catarina
  299. rm -f $(DESTDIR)$(PREFIX)/bin/catia
  300. rm -f $(DESTDIR)$(PREFIX)/bin/claudia*
  301. rm -f $(DESTDIR)$(PREFIX)/bin/carla*
  302. rm -f $(DESTDIR)$(PREFIX)/share/applications/cadence.desktop
  303. rm -f $(DESTDIR)$(PREFIX)/share/applications/catarina.desktop
  304. rm -f $(DESTDIR)$(PREFIX)/share/applications/catia.desktop
  305. rm -f $(DESTDIR)$(PREFIX)/share/applications/claudia.desktop
  306. rm -f $(DESTDIR)$(PREFIX)/share/applications/claudia-launcher.desktop
  307. rm -f $(DESTDIR)$(PREFIX)/share/applications/carla.desktop
  308. rm -f $(DESTDIR)$(PREFIX)/share/applications/carla-control.desktop
  309. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/cadence.png
  310. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/catarina.png
  311. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/catia.png
  312. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/claudia.png
  313. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/claudia-launcher.png
  314. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla.png
  315. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla-control.png
  316. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/cadence.svg
  317. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/catarina.svg
  318. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/catia.svg
  319. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia.svg
  320. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia-launcher.svg
  321. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg
  322. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg
  323. rm -f $(X11_RC_DIR)/99cadence-session-start
  324. rm -rf $(DESTDIR)$(PREFIX)/lib/cadence/
  325. rm -rf $(DESTDIR)$(PREFIX)/share/cadence/