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.

139 lines
3.9KB

  1. #!/usr/bin/make -f
  2. # Makefile for DISTRHO Plugins #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. # --------------------------------------------------------------
  7. # Build config
  8. PREFIX ?= /usr/local
  9. DESTDIR ?=
  10. SYSDEPS ?= false
  11. # --------------------------------------------------------------
  12. # Import base definitions
  13. USE_NANOVG_FBO = true
  14. include ../dpf/Makefile.base.mk
  15. # --------------------------------------------------------------
  16. # Build setup
  17. BUILD_DIR = ../build/lv2export
  18. ifeq ($(MACOS),true)
  19. BASE_FLAGS += -DARCH_MAC
  20. else ifeq ($(WINDOWS),true)
  21. BASE_FLAGS += -DARCH_WIN
  22. else
  23. BASE_FLAGS += -DARCH_LIN
  24. endif
  25. ifeq ($(DEBUG),true)
  26. BASE_FLAGS += -UDEBUG
  27. endif
  28. # BASE_FLAGS += -DHEADLESS
  29. # BASE_FLAGS += -DPRIVATE=
  30. #
  31. # BASE_FLAGS += -fno-finite-math-only
  32. # # BASE_FLAGS += -I../dpf/dgl
  33. # BASE_FLAGS += -I../dpf/dgl/src/nanovg
  34. # BASE_FLAGS += -I../dpf/distrho
  35. # BASE_FLAGS += -I../include
  36. # BASE_FLAGS += -I../include/neon-compat
  37. # BASE_FLAGS += -I../src/Rack/include
  38. # ifeq ($(SYSDEPS),true)
  39. # BASE_FLAGS += -DCARDINAL_SYSDEPS
  40. # BASE_FLAGS += $(shell pkg-config --cflags jansson libarchive samplerate speexdsp)
  41. # else
  42. # BASE_FLAGS += -DZSTDLIB_VISIBILITY=
  43. # BASE_FLAGS += -I../src/Rack/dep/include
  44. # endif
  45. # BASE_FLAGS += -I../src/Rack/dep/filesystem/include
  46. # BASE_FLAGS += -I../src/Rack/dep/fuzzysearchdatabase/src
  47. # BASE_FLAGS += -I../src/Rack/dep/glfw/include
  48. # BASE_FLAGS += -I../src/Rack/dep/nanosvg/src
  49. # # BASE_FLAGS += -IRack/dep/osdialog
  50. # BASE_FLAGS += -I../src/Rack/dep/oui-blendish
  51. # BASE_FLAGS += -I../src/Rack/dep/pffft
  52. # BASE_FLAGS += -pthread
  53. #
  54. # ifeq ($(WINDOWS),true)
  55. # BASE_FLAGS += -D_USE_MATH_DEFINES
  56. # BASE_FLAGS += -DWIN32_LEAN_AND_MEAN
  57. # BASE_FLAGS += -I../include/mingw-compat
  58. # BASE_FLAGS += -I../include/mingw-std-threads
  59. # endif
  60. # --------------------------------------------------------------
  61. # lots of warnings from VCV side
  62. BASE_FLAGS += -Wno-unused-parameter
  63. BASE_FLAGS += -Wno-unused-variable
  64. # --------------------------------------------------------------
  65. # also from plugins
  66. BASE_FLAGS += -Wno-deprecated-declarations
  67. BASE_FLAGS += -Wno-implicit-fallthrough
  68. ifeq ($(MACOS),true)
  69. BASE_FLAGS += -Wno-unknown-warning-option
  70. endif
  71. # --------------------------------------------------------------
  72. # stuff to include
  73. BUILD_CXX_FLAGS += -I.
  74. BUILD_CXX_FLAGS += -Iincludes
  75. BUILD_CXX_FLAGS += -I../dpf/distrho
  76. BUILD_CXX_FLAGS += -I../plugins
  77. # --------------------------------------------------------------
  78. # Build targets
  79. PLUGINS = $(subst plugins/,,$(subst .cpp,,$(wildcard plugins/*.cpp)))
  80. BINARIES = $(PLUGINS:%=../bin/cardinal-%.lv2/plugin$(LIB_EXT))
  81. RESOURCES = $(PLUGINS:%=../bin/cardinal-%.lv2/manifest.ttl)
  82. RESOURCES += $(PLUGINS:%=../bin/cardinal-%.lv2/plugin.ttl)
  83. all: $(BINARIES) $(RESOURCES)
  84. clean:
  85. rm -f $(TARGETS) $(BUILD_OBJS)
  86. # --------------------------------------------------------------
  87. # Build commands
  88. ../bin/cardinal-%.lv2/manifest.ttl: manifest.ttl.in
  89. -@mkdir -p $(shell dirname $@)
  90. sed -e "s/@LIB_EXT@/$(LIB_EXT)/" -e "s/@SLUG@/$*/" $< > $@
  91. ../bin/cardinal-%.lv2/plugin.ttl: ../bin/cardinal-%.lv2/plugin$(LIB_EXT)
  92. ../dpf/utils/lv2_ttl_generator$(APP_EXT) $^ | tail -n +2 > $@
  93. ../bin/cardinal-%.lv2/plugin$(LIB_EXT): $(BUILD_DIR)/%.cpp.o
  94. -@mkdir -p $(shell dirname $@)
  95. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(SHARED) -o $@
  96. # --------------------------------------------------------------
  97. # $(BUILD_DIR)/valleyaudio-plateau.cpp.o: plugins/valleyaudio-plateau.cpp
  98. # -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  99. # @echo "Compiling $<"
  100. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DSLUG='"$*"' -c -o $@
  101. $(BUILD_DIR)/%.cpp.o: plugins/%.cpp
  102. -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  103. @echo "Compiling $<"
  104. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DSLUG='"$*"' -c -o $@
  105. # --------------------------------------------------------------
  106. -include $(PLUGINS:%=$(BUILD_DIR)/%.cpp.d)
  107. # --------------------------------------------------------------