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.

125 lines
3.5KB

  1. # -----------------------------------------
  2. # Compile all the Ports
  3. PREFIX := /usr/local
  4. LIBDIR := $(PREFIX)/lib
  5. SRCDIR := $(PREFIX)/src
  6. DESTDIR :=
  7. # -----------------------------------------
  8. # all
  9. all:
  10. $(MAKE) -C libs/drowaudio
  11. $(MAKE) -C libs/juce-legacy
  12. $(MAKE) -C libs/juced
  13. $(MAKE) -C libs/lv2-ttl-generator
  14. $(MAKE) -C ports-legacy plugins
  15. $(MAKE) gen
  16. # -----------------------------------------
  17. # install
  18. install:
  19. # make dirs
  20. install -d $(DESTDIR)$(LIBDIR)/lv2/
  21. install -d $(DESTDIR)$(LIBDIR)/vst/
  22. install -d $(DESTDIR)$(SRCDIR)/distrho/libs/juce/build-juce/
  23. install -d $(DESTDIR)$(SRCDIR)/distrho/libs/juce/source/
  24. install -d $(DESTDIR)$(SRCDIR)/distrho/libs/juce-plugin/
  25. install -d $(DESTDIR)$(SRCDIR)/distrho/scripts/
  26. # install plugins
  27. ifneq (,$(wildcard bin/lv2/TheFunction.lv2))
  28. cp -r bin/lv2/*.lv2/ $(DESTDIR)$(LIBDIR)/lv2/
  29. cp -r static-lv2-ttl/*.lv2/ $(DESTDIR)$(LIBDIR)/lv2/
  30. endif
  31. ifneq (,$(wildcard bin/vst/TheFunction.so))
  32. cp -r bin/vst/* $(DESTDIR)$(LIBDIR)/vst/
  33. endif
  34. # install source needed for extra builds
  35. install -m 644 libs/libjuce.a $(DESTDIR)$(SRCDIR)/distrho/libs/
  36. install -m 755 libs/lv2_ttl_generator $(DESTDIR)$(SRCDIR)/distrho/libs/
  37. install -m 644 libs/juce-legacy/build-juce/*.h $(DESTDIR)$(SRCDIR)/distrho/libs/juce-legacy/build-juce/
  38. install -m 644 libs/juce-plugin/*.cpp $(DESTDIR)$(SRCDIR)/distrho/libs/juce-plugin/
  39. install -m 644 libs/juce-plugin/*.h $(DESTDIR)$(SRCDIR)/distrho/libs/juce-plugin/
  40. install -m 644 scripts/*.lua $(DESTDIR)$(SRCDIR)/distrho/scripts/
  41. install -m 755 scripts/*.sh $(DESTDIR)$(SRCDIR)/distrho/scripts/
  42. find libs/juce/source/ -type f -name "*.h" -exec cp -v --parents {} $(DESTDIR)$(SRCDIR)/distrho/ \;
  43. cp -v --parents -r libs/juce-legacy/source/modules/juce_audio_plugin_client/LV2/* $(DESTDIR)$(SRCDIR)/distrho/
  44. cp -v --parents libs/juce-legacy/source/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp $(DESTDIR)$(SRCDIR)/distrho/
  45. cp -v --parents libs/juce-legacy/source/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp $(DESTDIR)$(SRCDIR)/distrho/
  46. # -----------------------------------------
  47. # gen
  48. gen: gen_lv2 gen_vst
  49. gen_lv2:
  50. $(MAKE) -C libs/lv2-ttl-generator
  51. @./scripts/generate-cabbage-lv2.sh
  52. @./scripts/generate-ttl.sh
  53. gen_vst:
  54. @./scripts/generate-cabbage-vst.sh
  55. # -----------------------------------------
  56. # clean
  57. clean:
  58. $(MAKE) clean -C libs/drowaudio
  59. $(MAKE) clean -C libs/juce-legacy
  60. $(MAKE) clean -C libs/juced
  61. $(MAKE) clean -C libs/lv2-ttl-generator
  62. $(MAKE) clean -C ports-legacy
  63. rm -rf bin/lv2/*.lv2/
  64. rm -rf bin/lv2-extra/
  65. rm -rf bin/vst-extra/
  66. distclean: clean
  67. $(MAKE) distclean -C libs/drowaudio
  68. $(MAKE) distclean -C libs/juce-legacy
  69. $(MAKE) distclean -C libs/juced
  70. $(MAKE) distclean -C ports-legacy
  71. # -----------------------------------------
  72. # mingw
  73. mingw:
  74. $(MAKE) -C libs/lv2-ttl-generator mingw
  75. # -----------------------------------------
  76. # Custom build types
  77. libs:
  78. $(MAKE) -C libs/drowaudio
  79. $(MAKE) -C libs/juce-legacy
  80. $(MAKE) -C libs/juced
  81. $(MAKE) -C libs/lv2-ttl-generator
  82. lv2:
  83. $(MAKE) -C libs/drowaudio
  84. $(MAKE) -C libs/juce-legacy
  85. $(MAKE) -C libs/juced
  86. $(MAKE) -C libs/lv2-ttl-generator
  87. $(MAKE) -C ports-legacy lv2
  88. $(MAKE) gen_lv2
  89. lv2_nogen:
  90. $(MAKE) -C libs/drowaudio
  91. $(MAKE) -C libs/juce-legacy
  92. $(MAKE) -C libs/juced
  93. $(MAKE) -C ports-legacy lv2
  94. vst:
  95. $(MAKE) -C libs/drowaudio
  96. $(MAKE) -C libs/juce-legacy
  97. $(MAKE) -C libs/juced
  98. $(MAKE) -C ports-legacy vst
  99. $(MAKE) gen_vst
  100. .PHONY: libs