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.

200 lines
5.7KB

  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)
  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. # VST2 fonts
  64. install -d bin/ProM.vst/Contents/Resources/fonts
  65. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.vst/Contents/Resources/fonts/
  66. # VST2 presets
  67. install -d bin/ProM.vst/Contents/Resources/presets
  68. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.vst/Contents/Resources/presets/
  69. else
  70. # VST2 fonts
  71. install -d bin/ProM.vst/resources/fonts
  72. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.vst/resources/fonts/
  73. # VST2 presets
  74. install -d bin/ProM.vst/resources/presets
  75. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.vst/resources/presets/
  76. endif
  77. # VST3 fonts
  78. install -d bin/ProM.vst3/Contents/Resources/fonts
  79. ln -sf $(CURDIR)/plugins/ProM/projectM/fonts/*.ttf bin/ProM.vst3/Contents/Resources/fonts/
  80. # VST3 presets
  81. install -d bin/ProM.vst3/Contents/Resources/presets
  82. ln -sf $(CURDIR)/plugins/ProM/projectM/presets/presets_* bin/ProM.vst3/Contents/Resources/presets/
  83. endif
  84. else
  85. resources:
  86. endif
  87. gen: plugins dpf/utils/lv2_ttl_generator
  88. ifeq ($(CAN_GENERATE_TTL),true)
  89. @$(CURDIR)/dpf/utils/generate-ttl.sh
  90. endif
  91. dpf/utils/lv2_ttl_generator:
  92. $(MAKE) -C dpf/utils/lv2-ttl-generator
  93. # --------------------------------------------------------------
  94. clean:
  95. rm -rf bin build
  96. $(MAKE) clean -C dpf/dgl
  97. $(MAKE) clean -C dpf/utils/lv2-ttl-generator
  98. # glBars
  99. $(MAKE) clean -C plugins/glBars
  100. # Kars
  101. $(MAKE) clean -C plugins/Kars
  102. # Mini-Series
  103. $(MAKE) clean -C plugins/3BandEQ
  104. $(MAKE) clean -C plugins/3BandSplitter
  105. $(MAKE) clean -C plugins/PingPongPan
  106. # ndc-Plugs
  107. $(MAKE) clean -C plugins/AmplitudeImposer
  108. $(MAKE) clean -C plugins/CycleShifter
  109. $(MAKE) clean -C plugins/SoulForce
  110. # MVerb
  111. $(MAKE) clean -C plugins/MVerb
  112. # Nekobi
  113. $(MAKE) clean -C plugins/Nekobi
  114. # ProM
  115. $(MAKE) clean -C plugins/ProM
  116. # Max-Gen stuff
  117. $(MAKE) clean -C plugins/bitcrush
  118. $(MAKE) clean -C plugins/freeverb
  119. $(MAKE) clean -C plugins/gigaverb
  120. $(MAKE) clean -C plugins/pitchshift
  121. # --------------------------------------------------------------
  122. install:
  123. install -d $(DESTDIR)$(PREFIX)/lib/ladspa/
  124. install -d $(DESTDIR)$(PREFIX)/lib/dssi/
  125. install -d $(DESTDIR)$(PREFIX)/lib/lv2/
  126. install -d $(DESTDIR)$(PREFIX)/lib/vst/
  127. install -d $(DESTDIR)$(PREFIX)/lib/vst3/
  128. install -d $(DESTDIR)$(PREFIX)/bin/
  129. install -m 644 bin/*-ladspa.* $(DESTDIR)$(PREFIX)/lib/ladspa/
  130. install -m 644 bin/*-dssi.* $(DESTDIR)$(PREFIX)/lib/dssi/
  131. ifneq ($(MACOS),true)
  132. install -m 644 bin/*-vst.* $(DESTDIR)$(PREFIX)/lib/vst/
  133. endif
  134. ifeq ($(HAVE_CAIRO_OR_OPENGL),true)
  135. cp -r bin/*-dssi $(DESTDIR)$(PREFIX)/lib/dssi/
  136. endif # HAVE_CAIRO_OR_OPENGL
  137. cp -rL bin/*.lv2 $(DESTDIR)$(PREFIX)/lib/lv2/
  138. ifeq ($(HAVE_OPENGL),true)
  139. cp -rL bin/*.vst $(DESTDIR)$(PREFIX)/lib/vst/
  140. endif # HAVE_OPENGL
  141. cp -rL bin/*.vst3 $(DESTDIR)$(PREFIX)/lib/vst3/
  142. install -m 755 bin/Kars$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  143. install -m 755 bin/3BandEQ$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  144. install -m 755 bin/3BandSplitter$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  145. install -m 755 bin/PingPongPan$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  146. install -m 755 bin/AmplitudeImposer$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  147. install -m 755 bin/CycleShifter$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  148. install -m 755 bin/SoulForce$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  149. install -m 755 bin/MVerb$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  150. install -m 755 bin/Nekobi$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  151. install -m 755 bin/MaBitcrush$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  152. install -m 755 bin/MaFreeverb$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  153. install -m 755 bin/MaGigaverb$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  154. install -m 755 bin/MaPitchshift$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  155. ifeq ($(HAVE_OPENGL),true)
  156. install -m 755 bin/glBars$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
  157. endif # HAVE_OPENGL
  158. # --------------------------------------------------------------
  159. .PHONY: plugins