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.

137 lines
3.6KB

  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. ifeq ($(USING_JUCE),true)
  15. ifeq ($(WINDOWS),true)
  16. BUILD_CXX_FLAGS += -I$(CWD)/modules/mingw-std-threads
  17. endif
  18. endif
  19. BUILD_CXX_FLAGS += $(MAGIC_FLAGS)
  20. ifneq ($(HAIKU),true)
  21. BUILD_CXX_FLAGS += -pthread
  22. endif
  23. # ---------------------------------------------------------------------------------------------------------------------
  24. OBJS = \
  25. $(OBJDIR)/CarlaEngine.cpp.o \
  26. $(OBJDIR)/CarlaEngineClient.cpp.o \
  27. $(OBJDIR)/CarlaEngineData.cpp.o \
  28. $(OBJDIR)/CarlaEngineDummy.cpp.o \
  29. $(OBJDIR)/CarlaEngineGraph.cpp.o \
  30. $(OBJDIR)/CarlaEngineInternal.cpp.o \
  31. $(OBJDIR)/CarlaEnginePorts.cpp.o \
  32. $(OBJDIR)/CarlaEngineThread.cpp.o
  33. ifeq ($(HAVE_LIBLO),true)
  34. OBJS += \
  35. $(OBJDIR)/CarlaEngineOsc.cpp.o \
  36. $(OBJDIR)/CarlaEngineOscHandlers.cpp.o \
  37. $(OBJDIR)/CarlaEngineOscSend.cpp.o
  38. endif
  39. OBJSa = $(OBJS) \
  40. $(OBJDIR)/CarlaEngineJack.cpp.o \
  41. $(OBJDIR)/CarlaEngineNative.cpp.o
  42. ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
  43. OBJSa += \
  44. $(OBJDIR)/CarlaEngineJuce.cpp.o
  45. endif
  46. ifeq ($(USING_RTAUDIO),true)
  47. OBJSa += \
  48. $(OBJDIR)/CarlaEngineRtAudio.cpp.o
  49. endif
  50. OBJSp = $(OBJS) \
  51. $(OBJDIR)/CarlaEngineNative.cpp.exp.o
  52. TARGETS = \
  53. $(MODULEDIR)/carla_engine.a \
  54. $(MODULEDIR)/carla_engine_plugin.a
  55. # ---------------------------------------------------------------------------------------------------------------------
  56. all: $(TARGETS)
  57. # ---------------------------------------------------------------------------------------------------------------------
  58. clean:
  59. rm -f $(OBJSa) $(OBJSp) $(TARGETS)
  60. debug:
  61. $(MAKE) DEBUG=true
  62. # ---------------------------------------------------------------------------------------------------------------------
  63. $(MODULEDIR)/carla_engine.a: $(OBJSa)
  64. -@mkdir -p $(MODULEDIR)
  65. @echo "Creating carla_engine.a"
  66. $(SILENT)rm -f $@
  67. $(SILENT)$(AR) crs $@ $^
  68. $(MODULEDIR)/carla_engine_plugin.a: $(OBJSp)
  69. -@mkdir -p $(MODULEDIR)
  70. @echo "Creating carla_engine_plugin.a"
  71. $(SILENT)rm -f $@
  72. $(SILENT)$(AR) crs $@ $^
  73. # ---------------------------------------------------------------------------------------------------------------------
  74. $(OBJDIR)/CarlaEngineRtAudio.cpp.o: CarlaEngineRtAudio.cpp
  75. -@mkdir -p $(OBJDIR)
  76. @echo "Compiling CarlaEngineRtAudio.cpp"
  77. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(RTAUDIO_FLAGS) $(RTMIDI_FLAGS) -c -o $@
  78. ifeq ($(MACOS),true)
  79. $(OBJDIR)/CarlaEngineNative.cpp.exp.o: CarlaEngineNative.cpp
  80. -@mkdir -p $(OBJDIR)
  81. @echo "Compiling CarlaEngineNative.cpp (plugin)"
  82. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_BUILD -ObjC++ -c -o $@
  83. else
  84. $(OBJDIR)/CarlaEngineNative.cpp.exp.o: CarlaEngineNative.cpp
  85. -@mkdir -p $(OBJDIR)
  86. @echo "Compiling CarlaEngineNative.cpp (plugin)"
  87. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_BUILD -c -o $@
  88. endif
  89. ifeq ($(JACKBRIDGE_DIRECT),true)
  90. $(OBJDIR)/CarlaEngineJack.cpp.o: CarlaEngineJack.cpp
  91. -@mkdir -p $(OBJDIR)
  92. @echo "Compiling CarlaEngineJack.cpp"
  93. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(JACK_FLAGS) -c -o $@
  94. endif
  95. ifeq ($(USING_JUCE),true)
  96. $(OBJDIR)/CarlaEngineJuce.cpp.o: CarlaEngineJuce.cpp
  97. -@mkdir -p $(OBJDIR)
  98. @echo "Compiling $<"
  99. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -std=gnu++14 -c -o $@
  100. endif
  101. $(OBJDIR)/%.cpp.o: %.cpp
  102. -@mkdir -p $(OBJDIR)
  103. @echo "Compiling $<"
  104. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  105. -include $(OBJSa:%.o=%.d)
  106. -include $(OBJDIR)/CarlaEngineNative.cpp.exp.d
  107. # ---------------------------------------------------------------------------------------------------------------------