Collection of DPF-based plugins for packaging
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.

212 lines
6.4KB

  1. #!/usr/bin/make -f
  2. # Makefile for DISTRHO Plugins #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. include dpf/Makefile.base.mk
  7. all: dgl plugins resources gen
  8. # --------------------------------------------------------------
  9. PREFIX ?= /usr/local
  10. DESTDIR ?=
  11. # --------------------------------------------------------------
  12. # Check for system-wide projectM
  13. HAVE_PROJECTM = $(shell pkg-config --exists libprojectM && echo true)
  14. # --------------------------------------------------------------
  15. ifneq ($(CROSS_COMPILING),true)
  16. CAN_GENERATE_TTL = true
  17. else ifneq ($(EXE_WRAPPER),)
  18. CAN_GENERATE_TTL = true
  19. endif
  20. dgl:
  21. ifeq ($(HAVE_CAIRO_OR_OPENGL),true)
  22. $(MAKE) FILE_BROWSER_DISABLED=true -C dpf/dgl
  23. ifeq ($(HAVE_OPENGL),true)
  24. $(MAKE) FILE_BROWSER_DISABLED=true -C dpf/dgl opengl3
  25. endif
  26. endif
  27. plugins: dgl
  28. # Kars
  29. $(MAKE) all -C plugins/Kars
  30. # Mini-Series
  31. $(MAKE) all -C plugins/3BandEQ
  32. $(MAKE) all -C plugins/3BandSplitter
  33. $(MAKE) all -C plugins/PingPongPan
  34. # ndc-Plugs
  35. $(MAKE) all -C plugins/AmplitudeImposer
  36. $(MAKE) all -C plugins/CycleShifter
  37. $(MAKE) all -C plugins/SoulForce
  38. # MVerb
  39. $(MAKE) all -C plugins/MVerb
  40. # Nekobi
  41. $(MAKE) all -C plugins/Nekobi
  42. # Max-Gen stuff
  43. $(MAKE) all -C plugins/bitcrush
  44. $(MAKE) all -C plugins/freeverb
  45. $(MAKE) all -C plugins/gigaverb
  46. $(MAKE) all -C plugins/pitchshift
  47. ifeq ($(HAVE_OPENGL),true)
  48. # glBars (needs OpenGL)
  49. $(MAKE) all -C plugins/glBars
  50. # ProM (needs OpenGL, ProjectM can be from system or vendored)
  51. $(MAKE) all -C plugins/ProM
  52. endif # HAVE_OPENGL
  53. ifeq ($(HAVE_OPENGL),true)
  54. resources: gen
  55. ifneq ($(HAVE_PROJECTM),true)
  56. # LV2 fonts
  57. install -d bin/ProM.lv2/resources/fonts
  58. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.lv2/resources/fonts/
  59. # LV2 presets
  60. install -d bin/ProM.lv2/resources/presets
  61. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.lv2/resources/presets/
  62. ifeq ($(MACOS),true)
  63. # CLAP + VST2 fonts
  64. install -d bin/ProM.clap/Contents/Resources/fonts
  65. install -d bin/ProM.vst/Contents/Resources/fonts
  66. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.clap/Contents/Resources/fonts/
  67. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.vst/Contents/Resources/fonts/
  68. # CLAP + VST2 presets
  69. install -d bin/ProM.clap/Contents/Resources/presets
  70. install -d bin/ProM.vst/Contents/Resources/presets
  71. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.clap/Contents/Resources/presets/
  72. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.vst/Contents/Resources/presets/
  73. else
  74. # CLAP + VST2 fonts
  75. install -d bin/ProM.clap/resources/fonts
  76. install -d bin/ProM.vst/resources/fonts
  77. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.clap/resources/fonts/
  78. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.vst/resources/fonts/
  79. # CLAP + VST2 presets
  80. install -d bin/ProM.clap/resources/presets
  81. install -d bin/ProM.vst/resources/presets
  82. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.clap/resources/presets/
  83. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.vst/resources/presets/
  84. endif
  85. # VST3 fonts
  86. install -d bin/ProM.vst3/Contents/Resources/fonts
  87. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.vst3/Contents/Resources/fonts/
  88. # VST3 presets
  89. install -d bin/ProM.vst3/Contents/Resources/presets
  90. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.vst3/Contents/Resources/presets/
  91. endif
  92. else
  93. resources:
  94. endif
  95. gen: plugins dpf/utils/lv2_ttl_generator
  96. ifeq ($(CAN_GENERATE_TTL),true)
  97. @$(CURDIR)/dpf/utils/generate-ttl.sh
  98. endif
  99. dpf/utils/lv2_ttl_generator:
  100. $(MAKE) -C dpf/utils/lv2-ttl-generator
  101. # --------------------------------------------------------------
  102. clean:
  103. rm -rf bin build
  104. $(MAKE) clean -C dpf/dgl
  105. $(MAKE) clean -C dpf/utils/lv2-ttl-generator
  106. # glBars
  107. $(MAKE) clean -C plugins/glBars
  108. # Kars
  109. $(MAKE) clean -C plugins/Kars
  110. # Mini-Series
  111. $(MAKE) clean -C plugins/3BandEQ
  112. $(MAKE) clean -C plugins/3BandSplitter
  113. $(MAKE) clean -C plugins/PingPongPan
  114. # ndc-Plugs
  115. $(MAKE) clean -C plugins/AmplitudeImposer
  116. $(MAKE) clean -C plugins/CycleShifter
  117. $(MAKE) clean -C plugins/SoulForce
  118. # MVerb
  119. $(MAKE) clean -C plugins/MVerb
  120. # Nekobi
  121. $(MAKE) clean -C plugins/Nekobi
  122. # ProM
  123. $(MAKE) clean -C plugins/ProM
  124. # Max-Gen stuff
  125. $(MAKE) clean -C plugins/bitcrush
  126. $(MAKE) clean -C plugins/freeverb
  127. $(MAKE) clean -C plugins/gigaverb
  128. $(MAKE) clean -C plugins/pitchshift
  129. # --------------------------------------------------------------
  130. install:
  131. install -d $(DESTDIR)$(PREFIX)/lib/ladspa/
  132. install -d $(DESTDIR)$(PREFIX)/lib/dssi/
  133. install -d $(DESTDIR)$(PREFIX)/lib/lv2/
  134. install -d $(DESTDIR)$(PREFIX)/lib/vst/
  135. install -d $(DESTDIR)$(PREFIX)/lib/vst3/
  136. install -d $(DESTDIR)$(PREFIX)/lib/clap/
  137. install -d $(DESTDIR)$(PREFIX)/bin/
  138. install -m 644 bin/*-ladspa.* $(DESTDIR)$(PREFIX)/lib/ladspa/
  139. install -m 644 bin/*-dssi.* $(DESTDIR)$(PREFIX)/lib/dssi/
  140. ifneq ($(MACOS),true)
  141. install -m 644 bin/*-vst.* $(DESTDIR)$(PREFIX)/lib/vst/
  142. endif
  143. ifeq ($(HAVE_CAIRO_OR_OPENGL),true)
  144. ifeq ($(HAVE_LIBLO),true)
  145. cp -r bin/*-dssi $(DESTDIR)$(PREFIX)/lib/dssi/
  146. endif # HAVE_LIBLO
  147. endif # HAVE_CAIRO_OR_OPENGL
  148. cp -rL bin/*.lv2 $(DESTDIR)$(PREFIX)/lib/lv2/
  149. ifeq ($(HAVE_OPENGL),true)
  150. cp -rL bin/*.vst $(DESTDIR)$(PREFIX)/lib/vst/
  151. endif # HAVE_OPENGL
  152. cp -rL bin/*.vst3 $(DESTDIR)$(PREFIX)/lib/vst3/
  153. cp -rL bin/*.clap $(DESTDIR)$(PREFIX)/lib/clap/
  154. install -m 755 bin/Kars$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  155. install -m 755 bin/3BandEQ$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  156. install -m 755 bin/3BandSplitter$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  157. install -m 755 bin/PingPongPan$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  158. install -m 755 bin/AmplitudeImposer$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  159. install -m 755 bin/CycleShifter$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  160. install -m 755 bin/SoulForce$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  161. install -m 755 bin/MVerb$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  162. install -m 755 bin/Nekobi$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  163. install -m 755 bin/MaBitcrush$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  164. install -m 755 bin/MaFreeverb$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  165. install -m 755 bin/MaGigaverb$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  166. install -m 755 bin/MaPitchshift$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  167. ifeq ($(HAVE_OPENGL),true)
  168. install -m 755 bin/glBars$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  169. endif # HAVE_OPENGL
  170. # --------------------------------------------------------------
  171. .PHONY: plugins