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.

108 lines
3.1KB

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