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.

120 lines
3.2KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-engine #
  3. # ------------------------- #
  4. # Created by falkTX
  5. #
  6. CWD=../..
  7. include ../Makefile.mk
  8. # Workaround GCC bug
  9. ifeq ($(TESTBUILD),true)
  10. ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
  11. BUILD_CXX_FLAGS += -Wno-undef
  12. endif
  13. endif
  14. BUILD_CXX_FLAGS += $(MAGIC_FLAGS)
  15. # ---------------------------------------------------------------------------------------------------------------------
  16. OBJS = \
  17. $(OBJDIR)/CarlaEngine.cpp.o \
  18. $(OBJDIR)/CarlaEngineClient.cpp.o \
  19. $(OBJDIR)/CarlaEngineData.cpp.o \
  20. $(OBJDIR)/CarlaEngineDummy.cpp.o \
  21. $(OBJDIR)/CarlaEngineGraph.cpp.o \
  22. $(OBJDIR)/CarlaEngineInternal.cpp.o \
  23. $(OBJDIR)/CarlaEnginePorts.cpp.o \
  24. $(OBJDIR)/CarlaEngineThread.cpp.o
  25. ifeq ($(HAVE_LIBLO),true)
  26. OBJS += \
  27. $(OBJDIR)/CarlaEngineOsc.cpp.o \
  28. $(OBJDIR)/CarlaEngineOscHandlers.cpp.o \
  29. $(OBJDIR)/CarlaEngineOscSend.cpp.o
  30. endif
  31. OBJSa = $(OBJS) \
  32. $(OBJDIR)/CarlaEngineJack.cpp.o \
  33. $(OBJDIR)/CarlaEngineNative.cpp.o
  34. ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
  35. OBJSa += \
  36. $(OBJDIR)/CarlaEngineJuce.cpp.o
  37. endif
  38. ifeq ($(USING_RTAUDIO),true)
  39. OBJSa += \
  40. $(OBJDIR)/CarlaEngineRtAudio.cpp.o
  41. endif
  42. OBJSp = $(OBJS) \
  43. $(OBJDIR)/CarlaEngineNative.cpp.exp.o
  44. TARGETS = \
  45. $(MODULEDIR)/carla_engine.a \
  46. $(MODULEDIR)/carla_engine_plugin.a
  47. # ---------------------------------------------------------------------------------------------------------------------
  48. all: $(TARGETS)
  49. # ---------------------------------------------------------------------------------------------------------------------
  50. clean:
  51. rm -f $(OBJSa) $(OBJSp) $(TARGETS)
  52. debug:
  53. $(MAKE) DEBUG=true
  54. # ---------------------------------------------------------------------------------------------------------------------
  55. $(MODULEDIR)/carla_engine.a: $(OBJSa)
  56. -@mkdir -p $(MODULEDIR)
  57. @echo "Creating carla_engine.a"
  58. @rm -f $@
  59. @$(AR) crs $@ $^
  60. $(MODULEDIR)/carla_engine_plugin.a: $(OBJSp)
  61. -@mkdir -p $(MODULEDIR)
  62. @echo "Creating carla_engine_plugin.a"
  63. @rm -f $@
  64. @$(AR) crs $@ $^
  65. # ---------------------------------------------------------------------------------------------------------------------
  66. $(OBJDIR)/CarlaEngineRtAudio.cpp.o: CarlaEngineRtAudio.cpp
  67. -@mkdir -p $(OBJDIR)
  68. @echo "Compiling CarlaEngineRtAudio.cpp"
  69. @$(CXX) $< $(BUILD_CXX_FLAGS) $(RTAUDIO_FLAGS) $(RTMIDI_FLAGS) -c -o $@
  70. ifeq ($(MACOS),true)
  71. $(OBJDIR)/CarlaEngineNative.cpp.exp.o: CarlaEngineNative.cpp
  72. -@mkdir -p $(OBJDIR)
  73. @echo "Compiling CarlaEngineNative.cpp (plugin)"
  74. @$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_EXPORT -ObjC++ -c -o $@
  75. else
  76. $(OBJDIR)/CarlaEngineNative.cpp.exp.o: CarlaEngineNative.cpp
  77. -@mkdir -p $(OBJDIR)
  78. @echo "Compiling CarlaEngineNative.cpp (plugin)"
  79. @$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_EXPORT -c -o $@
  80. endif
  81. ifeq ($(JACKBRIDGE_DIRECT),true)
  82. $(OBJDIR)/CarlaEngineJack.cpp.o: CarlaEngineJack.cpp
  83. -@mkdir -p $(OBJDIR)
  84. @echo "Compiling CarlaEngineJack.cpp"
  85. @$(CXX) $< $(BUILD_CXX_FLAGS) $(JACK_FLAGS) -c -o $@
  86. endif
  87. $(OBJDIR)/%.cpp.o: %.cpp
  88. -@mkdir -p $(OBJDIR)
  89. @echo "Compiling $<"
  90. @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  91. -include $(OBJSa:%.o=%.d)
  92. -include $(OBJDIR)/CarlaEngineNative.cpp.exp.d
  93. # ---------------------------------------------------------------------------------------------------------------------