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.

Makefile 3.5KB

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