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.

225 lines
9.8KB

  1. #!/usr/bin/make -f
  2. # Makefile for Cadence #
  3. # ---------------------- #
  4. # Created by falkTX
  5. #
  6. PREFIX = /usr/local
  7. SYSCONFDIR = /etc
  8. DESTDIR =
  9. LINK = ln -s
  10. PYUIC ?= pyuic5
  11. PYRCC ?= pyrcc5
  12. # Detect X11 rules dir
  13. ifeq "$(wildcard $(SYSCONFDIR)/X11/Xsession.d/ )" ""
  14. X11_RC_DIR = $(DESTDIR)$(SYSCONFDIR)/X11/xinit/xinitrc.d/
  15. else
  16. X11_RC_DIR = $(DESTDIR)$(SYSCONFDIR)/X11/Xsession.d/
  17. endif
  18. # -----------------------------------------------------------------------------------------------------------------------------------------
  19. all: CPP RES UI
  20. # -----------------------------------------------------------------------------------------------------------------------------------------
  21. # C++ code
  22. CPP: jackmeter xycontroller
  23. jackmeter:
  24. $(MAKE) -C c++/jackmeter
  25. xycontroller:
  26. $(MAKE) -C c++/xycontroller
  27. # -----------------------------------------------------------------------------------------------------------------------------------------
  28. # Resources
  29. RES: src/resources_rc.py
  30. src/resources_rc.py: resources/resources.qrc
  31. $(PYRCC) $< -o $@
  32. # -----------------------------------------------------------------------------------------------------------------------------------------
  33. # UI code
  34. UI: cadence catarina catia claudia tools
  35. cadence: src/ui_cadence.py \
  36. src/ui_cadence_tb_jack.py src/ui_cadence_tb_alsa.py src/ui_cadence_tb_a2j.py src/ui_cadence_tb_pa.py \
  37. src/ui_cadence_rwait.py
  38. catarina: src/ui_catarina.py \
  39. src/ui_catarina_addgroup.py src/ui_catarina_removegroup.py src/ui_catarina_renamegroup.py \
  40. src/ui_catarina_addport.py src/ui_catarina_removeport.py src/ui_catarina_renameport.py \
  41. src/ui_catarina_connectports.py src/ui_catarina_disconnectports.py
  42. catia: src/ui_catia.py
  43. claudia: src/ui_claudia.py \
  44. src/ui_claudia_studioname.py src/ui_claudia_studiolist.py \
  45. src/ui_claudia_createroom.py src/ui_claudia_projectname.py src/ui_claudia_projectproperties.py \
  46. src/ui_claudia_runcustom.py src/ui_claudia_launcher.py src/ui_claudia_launcher_app.py
  47. tools: \
  48. src/ui_logs.py src/ui_render.py \
  49. src/ui_settings_app.py src/ui_settings_jack.py
  50. src/ui_%.py: resources/ui/%.ui
  51. $(PYUIC) $< -o $@
  52. # -----------------------------------------------------------------------------------------------------------------------------------------
  53. clean:
  54. $(MAKE) clean -C c++/jackmeter
  55. $(MAKE) clean -C c++/xycontroller
  56. rm -f *~ src/*~ src/*.pyc src/ui_*.py src/resources_rc.py
  57. # -----------------------------------------------------------------------------------------------------------------------------------------
  58. debug:
  59. $(MAKE) DEBUG=true
  60. # -----------------------------------------------------------------------------------------------------------------------------------------
  61. install:
  62. # Create directories
  63. install -d $(DESTDIR)$(SYSCONFDIR)/xdg/autostart/
  64. install -d $(DESTDIR)$(PREFIX)/bin/
  65. install -d $(DESTDIR)$(PREFIX)/share/applications/
  66. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  67. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  68. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  69. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  70. install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  71. install -d $(DESTDIR)$(PREFIX)/share/cadence/
  72. install -d $(DESTDIR)$(PREFIX)/share/cadence/src/
  73. install -d $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
  74. install -d $(DESTDIR)$(PREFIX)/share/cadence/pulse2loopback/
  75. install -d $(DESTDIR)$(PREFIX)/share/cadence/icons/
  76. install -d $(DESTDIR)$(PREFIX)/share/cadence/templates/
  77. install -d $(X11_RC_DIR)
  78. # Install script files and binaries
  79. install -m 755 \
  80. data/cadence \
  81. data/cadence-aloop-daemon \
  82. data/cadence-jacksettings \
  83. data/cadence-logs \
  84. data/cadence-pulse2jack \
  85. data/cadence-pulse2loopback \
  86. data/cadence-render \
  87. data/cadence-session-start \
  88. data/catarina \
  89. data/catia \
  90. data/claudia \
  91. data/claudia-launcher \
  92. c++/jackmeter/cadence-jackmeter \
  93. c++/xycontroller/cadence-xycontroller \
  94. $(DESTDIR)$(PREFIX)/bin/
  95. # Install desktop files
  96. install -m 644 data/autostart/*.desktop $(DESTDIR)$(SYSCONFDIR)/xdg/autostart/
  97. install -m 644 data/*.desktop $(DESTDIR)$(PREFIX)/share/applications/
  98. # Install icons, 16x16
  99. install -m 644 resources/16x16/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  100. install -m 644 resources/16x16/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  101. install -m 644 resources/16x16/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  102. install -m 644 resources/16x16/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  103. install -m 644 resources/16x16/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
  104. # Install icons, 48x48
  105. install -m 644 resources/48x48/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  106. install -m 644 resources/48x48/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  107. install -m 644 resources/48x48/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  108. install -m 644 resources/48x48/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  109. install -m 644 resources/48x48/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
  110. # Install icons, 128x128
  111. install -m 644 resources/128x128/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  112. install -m 644 resources/128x128/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  113. install -m 644 resources/128x128/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  114. install -m 644 resources/128x128/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  115. install -m 644 resources/128x128/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
  116. # Install icons, 256x256
  117. install -m 644 resources/256x256/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  118. install -m 644 resources/256x256/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  119. install -m 644 resources/256x256/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  120. install -m 644 resources/256x256/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  121. install -m 644 resources/256x256/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
  122. # Install icons, scalable
  123. install -m 644 resources/scalable/cadence.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  124. install -m 644 resources/scalable/catarina.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  125. install -m 644 resources/scalable/catia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  126. install -m 644 resources/scalable/claudia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  127. install -m 644 resources/scalable/claudia-launcher.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
  128. # Install main code
  129. install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/
  130. # Install addtional stuff for Cadence
  131. install -m 644 data/pulse2jack/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
  132. install -m 644 data/pulse2loopback/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2loopback/
  133. install -m 755 data/61cadence-session-inject $(X11_RC_DIR)
  134. # Install addtional stuff for Claudia
  135. cp -r data/icons/* $(DESTDIR)$(PREFIX)/share/cadence/icons/
  136. cp -r data/templates/* $(DESTDIR)$(PREFIX)/share/cadence/templates/
  137. # Adjust PREFIX value in script files
  138. sed -i "s?X-PREFIX-X?$(PREFIX)?" \
  139. $(DESTDIR)$(PREFIX)/bin/cadence \
  140. $(DESTDIR)$(PREFIX)/bin/cadence-aloop-daemon \
  141. $(DESTDIR)$(PREFIX)/bin/cadence-jacksettings \
  142. $(DESTDIR)$(PREFIX)/bin/cadence-logs \
  143. $(DESTDIR)$(PREFIX)/bin/cadence-pulse2jack \
  144. $(DESTDIR)$(PREFIX)/bin/cadence-pulse2loopback \
  145. $(DESTDIR)$(PREFIX)/bin/cadence-render \
  146. $(DESTDIR)$(PREFIX)/bin/cadence-session-start \
  147. $(DESTDIR)$(PREFIX)/bin/catarina \
  148. $(DESTDIR)$(PREFIX)/bin/catia \
  149. $(DESTDIR)$(PREFIX)/bin/claudia \
  150. $(DESTDIR)$(PREFIX)/bin/claudia-launcher \
  151. $(X11_RC_DIR)/61cadence-session-inject
  152. # Delete old files
  153. rm -f $(X11_RC_DIR)/21cadence-session-inject
  154. rm -f $(X11_RC_DIR)/70cadence-plugin-paths
  155. rm -f $(X11_RC_DIR)/99cadence-session-start
  156. # -----------------------------------------------------------------------------------------------------------------------------------------
  157. uninstall:
  158. rm -f $(DESTDIR)$(PREFIX)/bin/cadence*
  159. rm -f $(DESTDIR)$(PREFIX)/bin/catarina
  160. rm -f $(DESTDIR)$(PREFIX)/bin/catia
  161. rm -f $(DESTDIR)$(PREFIX)/bin/claudia*
  162. rm -f $(DESTDIR)$(PREFIX)/share/applications/cadence.desktop
  163. rm -f $(DESTDIR)$(PREFIX)/share/applications/catarina.desktop
  164. rm -f $(DESTDIR)$(PREFIX)/share/applications/catia.desktop
  165. rm -f $(DESTDIR)$(PREFIX)/share/applications/claudia.desktop
  166. rm -f $(DESTDIR)$(PREFIX)/share/applications/claudia-launcher.desktop
  167. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/cadence.png
  168. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/catarina.png
  169. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/catia.png
  170. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/claudia.png
  171. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/claudia-launcher.png
  172. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/cadence.svg
  173. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/catarina.svg
  174. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/catia.svg
  175. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia.svg
  176. rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia-launcher.svg
  177. rm -f $(DESTDIR)$(SYSCONFDIR)/xdg/autostart/cadence-session-start.desktop
  178. rm -f $(X11_RC_DIR)/61cadence-session-inject
  179. rm -rf $(DESTDIR)$(PREFIX)/share/cadence/
  180. # Old stuff
  181. rm -f $(X11_RC_DIR)/21cadence-session-inject
  182. rm -f $(X11_RC_DIR)/70cadence-plugin-paths
  183. rm -f $(X11_RC_DIR)/99cadence-session-start