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.

153 lines
3.9KB

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