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.

214 lines
6.5KB

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