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
2.7KB

  1. #!/usr/bin/make -f
  2. # Makefile for Cardinal #
  3. # --------------------- #
  4. # Created by falkTX
  5. #
  6. DEP_PATH = $(abspath ../src/Rack/dep)
  7. # --------------------------------------------------------------
  8. # Import base definitions
  9. USE_NANOVG_FBO = true
  10. USE_RGBA = true
  11. include ../dpf/Makefile.base.mk
  12. # --------------------------------------------------------------
  13. # Files to build
  14. PLUGIN_FILES = plugins.cpp
  15. # Befaco
  16. PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp,$(wildcard Befaco/src/*.cpp))
  17. # Fundamental
  18. PLUGIN_FILES += $(filter-out Fundamental/src/plugin.cpp,$(wildcard Fundamental/src/*.cpp))
  19. # --------------------------------------------------------------
  20. # Build setup
  21. BUILD_DIR = ../build/plugins
  22. PLUGIN_OBJS = $(PLUGIN_FILES:%=$(BUILD_DIR)/%.o)
  23. ifeq ($(MACOS),true)
  24. BASE_FLAGS += -DARCH_MAC
  25. else ifeq ($(WINDOWS),true)
  26. BASE_FLAGS += -DARCH_WIN
  27. else
  28. BASE_FLAGS += -DARCH_LIN
  29. endif
  30. BUILD_C_FLAGS += -std=gnu11
  31. BASE_FLAGS += -I../dpf/dgl/src/nanovg
  32. BASE_FLAGS += -I../src
  33. BASE_FLAGS += -I../src/neon-compat
  34. BASE_FLAGS += -I../src/Rack/include
  35. BASE_FLAGS += -I../src/Rack/dep/include
  36. # BASE_FLAGS += -I../src/Rack/dep/filesystem/include
  37. # BASE_FLAGS += -I../src/Rack/dep/fuzzysearchdatabase/src
  38. BASE_FLAGS += -I../src/Rack/dep/glfw/include
  39. BASE_FLAGS += -I../src/Rack/dep/nanosvg/src
  40. # BASE_FLAGS += -I../src/Rack/dep/osdialog
  41. BASE_FLAGS += -I../src/Rack/dep/oui-blendish
  42. BASE_FLAGS += -I../src/Rack/dep/pffft
  43. BASE_FLAGS += -pthread
  44. ifeq ($(WINDOWS),true)
  45. BASE_FLAGS += -Imingw-compat
  46. BASE_FLAGS += -Imingw-std-threads
  47. endif
  48. # --------------------------------------------------------------
  49. # FIXME lots of warnings from VCV side
  50. BASE_FLAGS += -Wno-unused-parameter
  51. BASE_FLAGS += -Wno-unused-variable
  52. # --------------------------------------------------------------
  53. # Build targets
  54. TARGET = plugins.a
  55. all: $(TARGET)
  56. clean:
  57. rm -f $(TARGET)
  58. rm -rf $(BUILD_DIR)
  59. # --------------------------------------------------------------
  60. # Build commands
  61. $(TARGET): $(PLUGIN_OBJS)
  62. @echo "Creating $@"
  63. $(SILENT)rm -f $@
  64. $(SILENT)$(AR) crs $@ $^
  65. $(BUILD_DIR)/plugins.cpp.o: plugins.cpp
  66. -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  67. @echo "Compiling $<"
  68. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  69. $(BUILD_DIR)/Befaco/%.cpp.o: Befaco/%.cpp
  70. -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  71. @echo "Compiling $<"
  72. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DpluginInstance=pluginInstance__Befaco -c -o $@
  73. $(BUILD_DIR)/Fundamental/%.cpp.o: Fundamental/%.cpp
  74. -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  75. @echo "Compiling $<"
  76. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DpluginInstance=pluginInstance__Fundamental -c -o $@
  77. # --------------------------------------------------------------
  78. -include $(PLUGIN_OBJS:%.o=%.d)
  79. # --------------------------------------------------------------