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.

132 lines
3.8KB

  1. #!/usr/bin/make -f
  2. # Makefile for DISTRHO Plugins #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. include dpf/Makefile.base.mk
  7. # --------------------------------------------------------------
  8. # Build targets
  9. all: carla dgl plugins gen
  10. # --------------------------------------------------------------
  11. # Build config
  12. PREFIX ?= /usr/local
  13. DESTDIR ?=
  14. # --------------------------------------------------------------
  15. # Carla config
  16. CARLA_EXTRA_ARGS = CARLA_BACKEND_NAMESPACE=Ildaeil \
  17. CAN_GENERATE_LV2_TTL=false \
  18. STATIC_PLUGIN_TARGET=true \
  19. HAVE_FFMPEG=false \
  20. HAVE_FLUIDSYNTH=false \
  21. HAVE_PROJECTM=false \
  22. HAVE_ZYN_DEPS=false \
  23. HAVE_ZYN_UI_DEPS=false
  24. ifneq ($(DEBUG),true)
  25. CARLA_EXTRA_ARGS += EXTERNAL_PLUGINS=true
  26. endif
  27. CARLA_TARGETS = static-plugin
  28. ifneq ($(WASM),true)
  29. CARLA_TARGETS += bridges-plugin bridges-ui
  30. endif
  31. # --------------------------------------------------------------
  32. # Check for X11+OpenGL dependencies
  33. ifneq ($(HAIKU_OR_MACOS_OR_WASM_OR_WINDOWS),true)
  34. ifneq ($(HAVE_OPENGL),true)
  35. $(error OpenGL dependency not installed/available)
  36. endif
  37. ifneq ($(HAVE_X11),true)
  38. $(error X11 dependency not installed/available)
  39. endif
  40. ifneq ($(HAVE_XCURSOR),true)
  41. $(warning Xcursor dependency not installed/available)
  42. endif
  43. ifneq ($(HAVE_XEXT),true)
  44. $(warning Xext dependency not installed/available)
  45. endif
  46. ifneq ($(HAVE_XRANDR),true)
  47. $(warning Xrandr dependency not installed/available)
  48. endif
  49. endif
  50. # --------------------------------------------------------------
  51. carla: dgl
  52. $(MAKE) $(CARLA_EXTRA_ARGS) -C carla $(CARLA_TARGETS)
  53. dgl:
  54. $(MAKE) -C dpf/dgl opengl
  55. plugins: carla dgl
  56. $(MAKE) $(CARLA_EXTRA_ARGS) all -C plugins/FX
  57. ifneq ($(WASM),true)
  58. $(MAKE) $(CARLA_EXTRA_ARGS) all -C plugins/MIDI
  59. $(MAKE) $(CARLA_EXTRA_ARGS) all -C plugins/Synth
  60. endif
  61. ifneq ($(CROSS_COMPILING),true)
  62. gen: plugins dpf/utils/lv2_ttl_generator
  63. @$(CURDIR)/dpf/utils/generate-ttl.sh
  64. dpf/utils/lv2_ttl_generator:
  65. $(MAKE) -C dpf/utils/lv2-ttl-generator
  66. else
  67. gen:
  68. endif
  69. # --------------------------------------------------------------
  70. install:
  71. install -d $(DESTDIR)$(PREFIX)/bin
  72. install -d $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-FX.lv2
  73. install -d $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-MIDI.lv2
  74. install -d $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-Synth.lv2
  75. install -d $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-FX.vst
  76. install -d $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-MIDI.vst
  77. install -d $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-Synth.vst
  78. install -d $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-FX.vst3/Contents
  79. install -d $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-MIDI.vst3/Contents
  80. install -d $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-Synth.vst3/Contents
  81. install -m 644 bin/Ildaeil-FX.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-FX.lv2/
  82. install -m 644 bin/Ildaeil-MIDI.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-MIDI.lv2/
  83. install -m 644 bin/Ildaeil-Synth.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-Synth.lv2/
  84. install -m 644 bin/Ildaeil-FX.vst/* $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-FX.vst/
  85. install -m 644 bin/Ildaeil-MIDI.vst/* $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-MIDI.vst/
  86. install -m 644 bin/Ildaeil-Synth.vst/* $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-Synth.vst/
  87. cp -rL bin/Ildaeil-FX.vst3/Contents/*-* $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-FX.vst3/Contents/
  88. cp -rL bin/Ildaeil-MIDI.vst3/Contents/*-* $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-MIDI.vst3/Contents/
  89. cp -rL bin/Ildaeil-Synth.vst3/Contents/*-* $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-Synth.vst3/Contents/
  90. # --------------------------------------------------------------
  91. clean:
  92. $(MAKE) distclean -C carla
  93. $(MAKE) clean -C dpf/dgl
  94. $(MAKE) clean -C dpf/utils/lv2-ttl-generator
  95. $(MAKE) clean -C plugins/FX
  96. $(MAKE) clean -C plugins/MIDI
  97. $(MAKE) clean -C plugins/Synth
  98. rm -rf bin build
  99. rm -f dpf-widgets/opengl/*.d
  100. rm -f dpf-widgets/opengl/*.o
  101. # --------------------------------------------------------------
  102. .PHONY: carla plugins