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.

162 lines
3.7KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-standalone #
  3. # ----------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. # Common
  9. LINK_FLAGS += $(shell pkg-config --libs liblo)
  10. LINK_FLAGS += $(QTCORE_LIBS)
  11. LINK_FLAGS += $(QTXML_LIBS)
  12. LINK_FLAGS += $(RTMEMPOOL_LIBS)
  13. ifeq ($(HAVE_JUCE),true)
  14. LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
  15. LINK_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS)
  16. LINK_FLAGS += $(JUCE_CORE_LIBS)
  17. # LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
  18. LINK_FLAGS += $(JUCE_EVENTS_LIBS)
  19. # LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
  20. # LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
  21. endif
  22. # --------------------------------------------------------------
  23. # Engine
  24. LINK_FLAGS += $(RTAUDIO_LIBS)
  25. LINK_FLAGS += $(RTMIDI_LIBS)
  26. LINK_FLAGS += $(JACKBRIDGE_LIBS)
  27. # --------------------------------------------------------------
  28. # Plugin
  29. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  30. LINK_FLAGS += $(LILV_LIBS)
  31. endif
  32. ifeq ($(HAVE_FLUIDSYNTH),true)
  33. LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
  34. endif
  35. ifeq ($(HAVE_LINUXSAMPLER),true)
  36. LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
  37. ifeq ($(WIN32),true)
  38. LINK_FLAGS += lrpcrt4
  39. endif
  40. endif
  41. # --------------------------------------------------------------
  42. # Native
  43. ifeq ($(HAVE_OPENGL),true)
  44. LINK_FLAGS += $(DGL_LIBS)
  45. endif
  46. ifeq ($(HAVE_AF_DEPS),true)
  47. LINK_FLAGS += $(shell pkg-config --libs sndfile)
  48. ifeq ($(HAVE_FFMPEG),true)
  49. LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
  50. endif
  51. endif
  52. ifeq ($(HAVE_MF_DEPS),true)
  53. LINK_FLAGS += $(shell pkg-config --libs smf)
  54. endif
  55. ifeq ($(HAVE_ZYN_DEPS),true)
  56. LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
  57. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  58. LINK_FLAGS += $(shell pkg-config --libs ntk_images ntk)
  59. endif
  60. endif
  61. # --------------------------------------------------------------
  62. LIBS = ../libcarla_engine.a
  63. LIBS += ../libcarla_plugin.a
  64. LIBS += ../../modules/carla_native.a
  65. LIBS += ../../modules/jackbridge.a
  66. LIBS += ../../modules/rtaudio.a
  67. LIBS += ../../modules/rtmidi.a
  68. LIBS += ../../modules/rtmempool.a
  69. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  70. LIBS += ../../modules/lilv.a
  71. endif
  72. ifeq ($(HAVE_JUCE),true)
  73. LIBS += ../../modules/juce_audio_basics.a
  74. LIBS += ../../modules/juce_audio_devices.a
  75. LIBS += ../../modules/juce_core.a
  76. # LIBS += ../../modules/juce_data_structures.a
  77. LIBS += ../../modules/juce_events.a
  78. # LIBS += ../../modules/juce_graphics.a
  79. # LIBS += ../../modules/juce_gui_basics.a
  80. endif
  81. ifeq ($(HAVE_OPENGL),true)
  82. LIBS += ../../modules/dgl.a
  83. endif
  84. # --------------------------------------------------------------
  85. OBJS = \
  86. CarlaStandalone.cpp.o
  87. HEADERS = \
  88. ../CarlaBackend.h ../CarlaHost.h ../CarlaEngine.hpp ../CarlaPlugin.hpp ../../modules/CarlaNative.h
  89. ifeq ($(WIN32),true)
  90. TARGET = ../libcarla_standalone2.dll
  91. else
  92. ifeq ($(MACOS),true)
  93. TARGET = ../libcarla_standalone2.dylib
  94. else
  95. TARGET = ../libcarla_standalone2.so
  96. endif
  97. endif
  98. # --------------------------------------------------------------
  99. all: $(TARGET)
  100. clean:
  101. $(RM) $(OBJS) $(TARGET)
  102. debug:
  103. $(MAKE) DEBUG=true
  104. # --------------------------------------------------------------
  105. %.cpp.o: %.cpp $(HEADERS)
  106. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  107. ../libcarla_standalone2.dll: $(OBJS) $(LIBS)
  108. $(CXX) $^ $(LINK_FLAGS) -shared -Wl,--output-def,$@.def -o $@
  109. ../libcarla_standalone2.dylib: $(OBJS) $(LIBS)
  110. $(CXX) $^ $(LINK_FLAGS) -dynamiclib -o $@
  111. ../libcarla_standalone2.so: $(OBJS) $(LIBS)
  112. $(CXX) $^ $(LINK_FLAGS) -shared -o $@
  113. # --------------------------------------------------------------
  114. .FORCE:
  115. .PHONY: .FORCE
  116. ../libcarla_%.a: .FORCE
  117. $(MAKE) -C ../$*
  118. ../../modules/%.a: .FORCE
  119. $(MAKE) -C ../../modules $*
  120. # --------------------------------------------------------------