Collection of tools useful for audio production
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.

107 lines
2.5KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-backend #
  3. # ------------------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. BUILD_CXX_FLAGS += -I. -I../carla-engine -I../carla-includes -I../carla-native -I../carla-plugin -I../carla-utils
  9. BUILD_CXX_FLAGS += -fvisibility=hidden -fPIC
  10. BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo QtCore)
  11. LINK_FLAGS += -fPIC -shared -ldl -lm -lGL
  12. LINK_FLAGS += $(shell pkg-config --libs liblo QtCore QtGui)
  13. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  14. BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST
  15. endif
  16. ifeq ($(CARLA_RTAUDIO_SUPPORT),true)
  17. BUILD_CXX_FLAGS += -DCARLA_ENGINE_RTAUDIO
  18. endif
  19. ifeq ($(HAVE_JACK),true)
  20. LINK_FLAGS += $(shell pkg-config --libs jack)
  21. endif
  22. ifeq ($(HAVE_ALSA),true)
  23. LINK_FLAGS += $(shell pkg-config --libs alsa)
  24. endif
  25. ifeq ($(HAVE_PULSEAUDIO),true)
  26. LINK_FLAGS += $(shell pkg-config --libs libpulse-simple)
  27. endif
  28. ifeq ($(HAVE_SUIL),true)
  29. LINK_FLAGS += $(shell pkg-config --libs suil-0)
  30. endif
  31. ifeq ($(HAVE_FLUIDSYNTH),true)
  32. BUILD_CXX_FLAGS += -DWANT_FLUIDSYNTH
  33. LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
  34. endif
  35. ifeq ($(HAVE_LINUXSAMPLER),true)
  36. BUILD_CXX_FLAGS += -DWANT_LINUXSAMPLER
  37. LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
  38. endif
  39. ifeq ($(HAVE_ZYN_DEPS),true)
  40. LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml)
  41. endif
  42. OBJS = \
  43. carla_backend_standalone.o \
  44. OBJS += ../carla-engine/carla_engine.a
  45. OBJS += ../carla-plugin/carla_plugin.a
  46. OBJS += ../carla-native/carla_native.a
  47. # others
  48. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  49. OBJS += ../carla-lilv/carla_lilv.a
  50. OBJS += ../carla-rtmempool/carla_rtmempool.a
  51. endif
  52. # --------------------------------------------------------------
  53. all: carla_backend.so
  54. doxygen: carla_backend.doxygen
  55. doxygen $<
  56. carla_backend.dll: $(OBJS)
  57. carla_backend.so: $(OBJS)
  58. $(CXX) $^ $(LINK_FLAGS) -o $@ && $(STRIP) $@
  59. carla_backend.dylib: $(OBJS)
  60. $(CXX) $^ $(LINK_FLAGS) -bundle -o $@ && $(STRIP) $@
  61. # --------------------------------------------------------------
  62. ../carla-engine/carla_engine.a:
  63. $(MAKE) -C ../carla-engine
  64. ../carla-lilv/carla_lilv.a:
  65. $(MAKE) -C ../carla-lilv
  66. ../carla-native/carla_native.a:
  67. $(MAKE) -C ../carla-native
  68. ../carla-plugin/carla_plugin.a:
  69. $(MAKE) -C ../carla-plugin
  70. ../carla-rtmempool/carla_rtmempool.a:
  71. $(MAKE) -C ../carla-rtmempool
  72. # --------------------------------------------------------------
  73. .cpp.o:
  74. $(CXX) -c $< $(BUILD_CXX_FLAGS) -o $@
  75. clean:
  76. rm -f $(OBJS) *.dll *.dylib *.so