Audio plugin host https://kx.studio/carla
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.

143 lines
4.0KB

  1. #!/usr/bin/make -f
  2. # Makefile for native-plugins #
  3. # --------------------------- #
  4. # Created by falkTX
  5. #
  6. CWD=..
  7. CWDE=..
  8. MODULENAME=native-plugins
  9. include ../modules/Makefile.mk
  10. # ---------------------------------------------------------------------------------------------------------------------
  11. BUILD_C_FLAGS += -I..
  12. BUILD_CXX_FLAGS += -I.. -I$(CWD)/modules
  13. ifneq ($(HAIKU),true)
  14. ifneq ($(WASM),true)
  15. BUILD_CXX_FLAGS += -pthread
  16. endif
  17. endif
  18. # ---------------------------------------------------------------------------------------------------------------------
  19. # Set targets
  20. TARGETS = $(MODULEDIR)/$(MODULENAME).a
  21. BUNDLES = \
  22. $(MODULEDIR)/$(MODULENAME)_audiogain.a \
  23. $(MODULEDIR)/$(MODULENAME)_files.a \
  24. $(MODULEDIR)/$(MODULENAME)_miditools.a
  25. # ---------------------------------------------------------------------------------------------------------------------
  26. # Set objects
  27. OBJS = \
  28. $(OBJDIR)/_all.c.o \
  29. $(OBJDIR)/_data.cpp.o \
  30. $(OBJDIR)/audio-gain.c.o \
  31. $(OBJDIR)/bypass.c.o \
  32. $(OBJDIR)/cv-to-audio.c.o \
  33. $(OBJDIR)/lfo.c.o \
  34. $(OBJDIR)/quadpanner.c.o \
  35. $(OBJDIR)/midi-channel-filter.c.o \
  36. $(OBJDIR)/midi-channel-ab.c.o \
  37. $(OBJDIR)/midi-channelize.c.o \
  38. $(OBJDIR)/midi-gain.c.o \
  39. $(OBJDIR)/midi-join.c.o \
  40. $(OBJDIR)/midi-split.c.o \
  41. $(OBJDIR)/midi-to-cv.c.o \
  42. $(OBJDIR)/midi-through.c.o \
  43. $(OBJDIR)/midi-transpose.c.o \
  44. $(OBJDIR)/audio-file.cpp.o \
  45. $(OBJDIR)/bigmeter.cpp.o \
  46. $(OBJDIR)/midi-file.cpp.o \
  47. $(OBJDIR)/midi-pattern.cpp.o \
  48. $(OBJDIR)/notes.cpp.o \
  49. $(OBJDIR)/xycontroller.cpp.o
  50. OBJS_audiogain = \
  51. $(OBJDIR)/audio-gain.c.o
  52. OBJS_files = \
  53. $(OBJDIR)/audio-file.cpp.o \
  54. $(OBJDIR)/midi-file.cpp.o
  55. OBJS_miditools = \
  56. $(OBJDIR)/midi-channel-filter.c.o \
  57. $(OBJDIR)/midi-channel-ab.c.o \
  58. $(OBJDIR)/midi-channelize.c.o \
  59. $(OBJDIR)/midi-gain.c.o \
  60. $(OBJDIR)/midi-join.c.o \
  61. $(OBJDIR)/midi-split.c.o \
  62. $(OBJDIR)/midi-transpose.c.o
  63. # ---------------------------------------------------------------------------------------------------------------------
  64. # Include external plugins, if present
  65. ifeq ($(EXTERNAL_PLUGINS),true)
  66. ifneq (,$(wildcard external/Makefile.mk2))
  67. include external/Makefile.mk2
  68. else
  69. $(error External plugins build requested but submodule not present, cannot build)
  70. endif
  71. endif
  72. # ---------------------------------------------------------------------------------------------------------------------
  73. all: $(TARGETS)
  74. bundles: $(BUNDLES)
  75. # ---------------------------------------------------------------------------------------------------------------------
  76. clean:
  77. rm -f $(OBJDIR)/*.o $(MODULEDIR)/$(MODULENAME)*.a $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP) $(TARGETS)
  78. debug:
  79. $(MAKE) DEBUG=true
  80. # ---------------------------------------------------------------------------------------------------------------------
  81. $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
  82. -@mkdir -p $(MODULEDIR)
  83. @echo "Creating $(MODULENAME).a"
  84. $(SILENT)rm -f $@
  85. $(SILENT)$(AR) crs $@ $^
  86. $(MODULEDIR)/$(MODULENAME)_audiogain.a: $(OBJS_audiogain)
  87. -@mkdir -p $(MODULEDIR)
  88. @echo "Creating $(MODULENAME)_audiogain.a"
  89. $(SILENT)rm -f $@
  90. $(SILENT)$(AR) crs $@ $^
  91. $(MODULEDIR)/$(MODULENAME)_files.a: $(OBJS_files)
  92. -@mkdir -p $(MODULEDIR)
  93. @echo "Creating $(MODULENAME)_files.a"
  94. $(SILENT)rm -f $@
  95. $(SILENT)$(AR) crs $@ $^
  96. $(MODULEDIR)/$(MODULENAME)_miditools.a: $(OBJS_miditools)
  97. -@mkdir -p $(MODULEDIR)
  98. @echo "Creating $(MODULENAME)_miditools.a"
  99. $(SILENT)rm -f $@
  100. $(SILENT)$(AR) crs $@ $^
  101. # ---------------------------------------------------------------------------------------------------------------------
  102. $(OBJDIR)/%.c.o: %.c
  103. -@mkdir -p $(OBJDIR)
  104. @echo "Compiling $<"
  105. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  106. $(OBJDIR)/%.cpp.o: %.cpp
  107. -@mkdir -p $(OBJDIR)
  108. @echo "Compiling $<"
  109. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  110. # ---------------------------------------------------------------------------------------------------------------------
  111. -include $(OBJS:%.o=%.d)
  112. # ---------------------------------------------------------------------------------------------------------------------