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.

100 lines
2.5KB

  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. # Fundamental
  16. PLUGIN_FILES += $(filter-out Fundamental/src/plugin.cpp,$(wildcard Fundamental/src/*.cpp))
  17. # --------------------------------------------------------------
  18. # Build setup
  19. BUILD_DIR = ../build/plugins
  20. PLUGIN_OBJS = $(PLUGIN_FILES:%=$(BUILD_DIR)/%.o)
  21. ifeq ($(MACOS),true)
  22. BASE_FLAGS += -DARCH_MAC
  23. else ifeq ($(WINDOWS),true)
  24. BASE_FLAGS += -DARCH_WIN
  25. else
  26. BASE_FLAGS += -DARCH_LIN
  27. endif
  28. BUILD_C_FLAGS += -std=gnu11
  29. BASE_FLAGS += -I../dpf/dgl/src/nanovg
  30. BASE_FLAGS += -I../src
  31. BASE_FLAGS += -I../src/neon-compat
  32. BASE_FLAGS += -I../src/Rack/include
  33. BASE_FLAGS += -I../src/Rack/dep/include
  34. # BASE_FLAGS += -I../src/Rack/dep/filesystem/include
  35. # BASE_FLAGS += -I../src/Rack/dep/fuzzysearchdatabase/src
  36. BASE_FLAGS += -I../src/Rack/dep/glfw/include
  37. BASE_FLAGS += -I../src/Rack/dep/nanosvg/src
  38. # BASE_FLAGS += -I../src/Rack/dep/osdialog
  39. BASE_FLAGS += -I../src/Rack/dep/oui-blendish
  40. BASE_FLAGS += -I../src/Rack/dep/pffft
  41. BASE_FLAGS += -pthread
  42. ifeq ($(WINDOWS),true)
  43. BASE_FLAGS += -Imingw-compat
  44. BASE_FLAGS += -Imingw-std-threads
  45. endif
  46. # --------------------------------------------------------------
  47. # FIXME lots of warnings from VCV side
  48. BASE_FLAGS += -Wno-unused-parameter
  49. BASE_FLAGS += -Wno-unused-variable
  50. # --------------------------------------------------------------
  51. # Build targets
  52. TARGET = plugins.a
  53. all: $(TARGET)
  54. clean:
  55. rm -f $(TARGET)
  56. rm -rf $(BUILD_DIR)
  57. # --------------------------------------------------------------
  58. # Build commands
  59. $(TARGET): $(PLUGIN_OBJS)
  60. @echo "Creating $@"
  61. $(SILENT)rm -f $@
  62. $(SILENT)$(AR) crs $@ $^
  63. $(BUILD_DIR)/plugins.cpp.o: plugins.cpp
  64. -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  65. @echo "Compiling $<"
  66. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DpluginInstance=pluginInstance__Fundamental -c -o $@
  67. $(BUILD_DIR)/Fundamental/%.cpp.o: Fundamental/%.cpp
  68. -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
  69. @echo "Compiling $<"
  70. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DpluginInstance=pluginInstance__Fundamental -c -o $@
  71. # --------------------------------------------------------------
  72. -include $(PLUGIN_OBJS:%.o=%.d)
  73. # --------------------------------------------------------------