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.

124 lines
3.6KB

  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. # --------------------------------------------------------------
  28. # Check for X11+OpenGL dependencies
  29. ifneq ($(HAIKU_OR_MACOS_OR_WASM_OR_WINDOWS),true)
  30. ifneq ($(HAVE_OPENGL),true)
  31. $(error OpenGL dependency not installed/available)
  32. endif
  33. ifneq ($(HAVE_X11),true)
  34. $(error X11 dependency not installed/available)
  35. endif
  36. ifneq ($(HAVE_XCURSOR),true)
  37. $(warning Xcursor dependency not installed/available)
  38. endif
  39. ifneq ($(HAVE_XEXT),true)
  40. $(warning Xext dependency not installed/available)
  41. endif
  42. ifneq ($(HAVE_XRANDR),true)
  43. $(warning Xrandr dependency not installed/available)
  44. endif
  45. endif
  46. # --------------------------------------------------------------
  47. carla: dgl
  48. $(MAKE) bridges-plugin bridges-ui static-plugin -C carla $(CARLA_EXTRA_ARGS)
  49. dgl:
  50. $(MAKE) -C dpf/dgl opengl
  51. plugins: carla dgl
  52. $(MAKE) all -C plugins/FX
  53. $(MAKE) all -C plugins/MIDI
  54. $(MAKE) all -C plugins/Synth
  55. ifneq ($(CROSS_COMPILING),true)
  56. gen: plugins dpf/utils/lv2_ttl_generator
  57. @$(CURDIR)/dpf/utils/generate-ttl.sh
  58. dpf/utils/lv2_ttl_generator:
  59. $(MAKE) -C dpf/utils/lv2-ttl-generator
  60. else
  61. gen:
  62. endif
  63. # --------------------------------------------------------------
  64. install:
  65. install -d $(DESTDIR)$(PREFIX)/bin
  66. install -d $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-FX.lv2
  67. install -d $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-MIDI.lv2
  68. install -d $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-Synth.lv2
  69. install -d $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-FX.vst
  70. install -d $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-MIDI.vst
  71. install -d $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-Synth.vst
  72. install -d $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-FX.vst3/Contents
  73. install -d $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-MIDI.vst3/Contents
  74. install -d $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-Synth.vst3/Contents
  75. install -m 644 bin/Ildaeil-FX.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-FX.lv2/
  76. install -m 644 bin/Ildaeil-MIDI.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-MIDI.lv2/
  77. install -m 644 bin/Ildaeil-Synth.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/Ildaeil-Synth.lv2/
  78. install -m 644 bin/Ildaeil-FX.vst/* $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-FX.vst/
  79. install -m 644 bin/Ildaeil-MIDI.vst/* $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-MIDI.vst/
  80. install -m 644 bin/Ildaeil-Synth.vst/* $(DESTDIR)$(PREFIX)/lib/vst/Ildaeil-Synth.vst/
  81. cp -rL bin/Ildaeil-FX.vst3/Contents/*-* $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-FX.vst3/Contents/
  82. cp -rL bin/Ildaeil-MIDI.vst3/Contents/*-* $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-MIDI.vst3/Contents/
  83. cp -rL bin/Ildaeil-Synth.vst3/Contents/*-* $(DESTDIR)$(PREFIX)/lib/vst3/Ildaeil-Synth.vst3/Contents/
  84. # --------------------------------------------------------------
  85. clean:
  86. $(MAKE) distclean -C carla
  87. $(MAKE) clean -C dpf/dgl
  88. $(MAKE) clean -C dpf/utils/lv2-ttl-generator
  89. $(MAKE) clean -C plugins/FX
  90. $(MAKE) clean -C plugins/MIDI
  91. $(MAKE) clean -C plugins/Synth
  92. rm -rf bin build
  93. rm -f dpf-widgets/opengl/*.d
  94. rm -f dpf-widgets/opengl/*.o
  95. # --------------------------------------------------------------
  96. .PHONY: carla plugins