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.

118 lines
3.5KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-engine #
  3. # ------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo)
  9. LINK_FLAGS += $(shell pkg-config --libs liblo)
  10. ifeq ($(HAVE_QT5),true)
  11. BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Xml)
  12. LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Xml)
  13. else
  14. BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore QtXml)
  15. LINK_FLAGS += $(shell pkg-config --libs QtCore QtXml)
  16. endif
  17. # --------------------------------------------------------------
  18. ifeq ($(CARLA_RTAUDIO_SUPPORT),true)
  19. BUILD_CXX_FLAGS += -DHAVE_GETTIMEOFDAY
  20. BUILD_CXX_FLAGS += -Irtaudio-4.0.11 -Irtaudio-4.0.11/include -Irtmidi-2.0.1
  21. ifeq ($(DEBUG),true)
  22. BUILD_CXX_FLAGS += -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__
  23. endif
  24. endif
  25. # --------------------------------------------------------------
  26. ifeq ($(HAVE_ALSA),true)
  27. BUILD_CXX_FLAGS += $(shell pkg-config --cflags alsa) -D__LINUX_ALSA__ -D__LINUX_ALSASEQ__
  28. LINK_FLAGS += $(shell pkg-config --libs alsa)
  29. endif
  30. ifeq ($(HAVE_JACK),true)
  31. BUILD_CXX_FLAGS += $(shell pkg-config --cflags jack) -D__UNIX_JACK__
  32. LINK_FLAGS += $(shell pkg-config --libs jack)
  33. endif
  34. ifeq ($(HAVE_PULSEAUDIO),true)
  35. BUILD_CXX_FLAGS += $(shell pkg-config --cflags libpulse-simple) -D__LINUX_PULSE__
  36. LINK_FLAGS += $(shell pkg-config --libs libpulse-simple)
  37. endif
  38. ifeq ($(MACOS),true)
  39. BUILD_CXX_FLAGS += -D__MACOSX_CORE__
  40. endif
  41. ifeq ($(WIN32),true)
  42. BUILD_CXX_FLAGS += -D__WINDOWS_ASIO__ -D__WINDOWS_DS__ -D__WINDOWS_MM__
  43. endif
  44. PLUGIN_CXX_FLAGS = $(BUILD_CXX_FLAGS)
  45. PLUGIN_CXX_FLAGS += -Idistrho -I../../libs/distrho
  46. PLUGIN_CXX_FLAGS += -DWANT_PLUGIN
  47. # --------------------------------------------------------------
  48. OBJS = \
  49. CarlaEngine.cpp.o \
  50. CarlaEngineOsc.cpp.o \
  51. CarlaEngineThread.cpp.o \
  52. CarlaEngineBridge.cpp.o \
  53. CarlaEngineJack.cpp.o \
  54. CarlaEnginePlugin.cpp.o \
  55. CarlaEngineRtAudio.cpp.o
  56. ifeq ($(CARLA_RTAUDIO_SUPPORT),true)
  57. OBJS += \
  58. rtaudio-4.0.11/RtAudio.cpp.o \
  59. rtmidi-2.0.1/RtMidi.cpp.o
  60. ifeq ($(WIN32),true)
  61. OBJS += \
  62. rtaudio-4.0.11/include/asio.cpp.o \
  63. rtaudio-4.0.11/include/asiodrivers.cpp.o \
  64. rtaudio-4.0.11/include/asiolist.cpp.o \
  65. rtaudio-4.0.11/include/iasiothiscallresolver.cpp.o
  66. endif
  67. endif
  68. SHARED = ../libcarla_engine.so
  69. STATIC = ../libcarla_engine.a
  70. # --------------------------------------------------------------
  71. all: $(STATIC)
  72. clean:
  73. rm -f $(OBJS) $(SHARED) $(STATIC)
  74. debug:
  75. $(MAKE) DEBUG=true
  76. # --------------------------------------------------------------
  77. %.cpp.o: %.cpp ../CarlaBackend.hpp ../CarlaEngine.hpp ../CarlaPlugin.hpp CarlaEngineInternal.hpp CarlaEngineOsc.hpp CarlaEngineThread.hpp
  78. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  79. %.cpp.dssi.o: %.cpp ../CarlaBackend.hpp ../CarlaEngine.hpp ../CarlaPlugin.hpp CarlaEngineInternal.hpp CarlaEngineOsc.hpp CarlaEngineThread.hpp
  80. $(CXX) $< $(PLUGIN_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_DSSI -c -o $@
  81. %.cpp.lv2.o: %.cpp ../CarlaBackend.hpp ../CarlaEngine.hpp ../CarlaPlugin.hpp CarlaEngineInternal.hpp CarlaEngineOsc.hpp CarlaEngineThread.hpp
  82. $(CXX) $< $(PLUGIN_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_LV2 -c -o $@
  83. %.cpp.vst.o: %.cpp ../CarlaBackend.hpp ../CarlaEngine.hpp ../CarlaPlugin.hpp CarlaEngineInternal.hpp CarlaEngineOsc.hpp CarlaEngineThread.hpp
  84. $(CXX) $< $(PLUGIN_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_VST -c -o $@
  85. $(SHARED): $(OBJS)
  86. $(CXX) $^ -shared $(LINK_FLAGS) -o $@ && $(STRIP) $@
  87. $(STATIC): $(OBJS)
  88. $(AR) rs $@ $^