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.

112 lines
2.7KB

  1. #!/usr/bin/make -f
  2. # Makefile for DISTRHO Plugins #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. # --------------------------------------------------------------
  7. # Project name, used for binaries
  8. NAME = CVCRack
  9. # --------------------------------------------------------------
  10. # Files to build (DPF stuff)
  11. FILES_DSP = \
  12. CVCRackPlugin.cpp
  13. FILES_UI = \
  14. CVCRackUI.cpp
  15. # --------------------------------------------------------------
  16. # Import base definitions
  17. include ../../dpf/Makefile.base.mk
  18. # --------------------------------------------------------------
  19. # Files to build (VCV stuff)
  20. FILES_DSP += Rack/dep/pffft/pffft.c
  21. FILES_DSP += Rack/dep/pffft/fftpack.c
  22. FILES_UI += Rack/dep/oui-blendish/blendish.c
  23. FILES_UI += Rack/dep/nanovg/src/nanovg.c
  24. # FILES_UI += Rack/dep/glfw/deps/glad.c
  25. # FIXME dont use this
  26. FILES_UI += Rack/dep/osdialog/osdialog.c
  27. ifeq ($(MACOS),true)
  28. FILES_UI += Rack/dep/osdialog/osdialog_mac.m
  29. else ifeq ($(WINDOWS),true)
  30. FILES_UI += Rack/dep/osdialog/osdialog_win.c
  31. else
  32. FILES_UI += Rack/dep/osdialog/osdialog_zenity.c
  33. endif
  34. FILES_DSP += $(wildcard Rack/src/*.c)
  35. FILES_DSP += $(wildcard Rack/src/*/*.c)
  36. FILES_DSP += $(filter-out Rack/src/rtaudio.cpp Rack/src/rtmidi.cpp, $(wildcard Rack/src/*.cpp))
  37. FILES_DSP += $(wildcard Rack/src/*/*.cpp)
  38. EXTRA_LIBS = Rack/dep/lib/libglfw3.a
  39. EXTRA_LIBS += Rack/dep/lib/libjansson.a
  40. EXTRA_LIBS += Rack/dep/lib/libspeexdsp.a
  41. ifeq ($(WINDOWS),true)
  42. EXTRA_LIBS += Rack/dep/lib/libglew32.a
  43. else
  44. EXTRA_LIBS += Rack/dep/lib/libGLEW.a
  45. endif
  46. # --------------------------------------------------------------
  47. # Do some magic
  48. include ../../dpf/Makefile.plugins.mk
  49. Rack/dep/lib/%.a:
  50. $(MAKE) -C Rack/dep lib/$*.a
  51. # --------------------------------------------------------------
  52. # Extra flags for VCV stuff
  53. BASE_FLAGS += -D_APP_VERSION=2.git.0
  54. BASE_FLAGS += -IRack/include
  55. BASE_FLAGS += -IRack/dep/include
  56. BASE_FLAGS += -IRack/dep/filesystem/include
  57. BASE_FLAGS += -IRack/dep/fuzzysearchdatabase/src
  58. BASE_FLAGS += -IRack/dep/glfw/deps
  59. BASE_FLAGS += -IRack/dep/nanovg/src
  60. BASE_FLAGS += -IRack/dep/nanosvg/src
  61. BASE_FLAGS += -IRack/dep/osdialog
  62. BASE_FLAGS += -IRack/dep/oui-blendish
  63. BASE_FLAGS += -IRack/dep/pffft
  64. ifeq ($(MACOS),true)
  65. BASE_FLAGS += -DARCH_MAC
  66. else ifeq ($(WINDOWS),true)
  67. BASE_FLAGS += -DARCH_WIN
  68. else
  69. BASE_FLAGS += -DARCH_LIN
  70. endif
  71. # FIXME lots of warnings from VCV side
  72. BASE_FLAGS += -Wno-unused-parameter
  73. BASE_FLAGS += -Wno-unused-variable
  74. # extra linker flags
  75. ifneq ($(HAIKU_OR_MACOS_OR_WINDOWS),true)
  76. LINK_FLAGS += -ldl
  77. endif
  78. # TODO needed on windows? need to check
  79. LINK_FLAGS += -lpthread
  80. # --------------------------------------------------------------
  81. # Enable all possible plugin types
  82. TARGETS = jack lv2 vst2 vst3
  83. all: $(TARGETS)
  84. # --------------------------------------------------------------