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.

399 lines
15KB

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