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.

152 lines
3.4KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla plugin exports #
  3. # --------------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. BUILD_CXX_FLAGS += -I../backend -I../includes -I../modules -I../modules/utils
  8. # --------------------------------------------------------------
  9. ifeq ($(HAVE_OPENGL),true)
  10. BUILD_CXX_FLAGS += -DWANT_OPENGL
  11. endif
  12. ifeq ($(HAVE_AF_DEPS),true)
  13. BUILD_CXX_FLAGS += -DWANT_AUDIOFILE
  14. endif
  15. ifeq ($(HAVE_MF_DEPS),true)
  16. BUILD_CXX_FLAGS += -DWANT_MIDIFILE
  17. endif
  18. ifeq ($(HAVE_ZYN_DEPS),true)
  19. BUILD_CXX_FLAGS += -DWANT_ZYNADDSUBFX
  20. endif
  21. # --------------------------------------------------------------
  22. # Common
  23. LINK_FLAGS += $(shell pkg-config --libs liblo)
  24. ifeq ($(HAVE_QT4),true)
  25. LINK_FLAGS += $(shell pkg-config --libs QtCore QtGui QtXml)
  26. else
  27. LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Widgets)
  28. endif
  29. # --------------------------------------------------------------
  30. # Plugin
  31. ifeq ($(HAVE_FLUIDSYNTH),true)
  32. LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
  33. endif
  34. ifeq ($(HAVE_LINUXSAMPLER),true)
  35. LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
  36. endif
  37. # --------------------------------------------------------------
  38. # Native
  39. DGL_LIBS = -lX11
  40. ifeq ($(HAVE_AF_DEPS),true)
  41. LINK_FLAGS += $(shell pkg-config --libs sndfile)
  42. ifeq ($(HAVE_FFMPEG),true)
  43. LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
  44. endif
  45. endif
  46. ifeq ($(HAVE_MF_DEPS),true)
  47. LINK_FLAGS += $(shell pkg-config --libs smf)
  48. endif
  49. ifeq ($(HAVE_OPENGL),true)
  50. LINK_FLAGS += $(shell pkg-config --libs gl) $(DGL_LIBS)
  51. endif
  52. ifeq ($(HAVE_ZYN_DEPS),true)
  53. LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
  54. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  55. LINK_FLAGS += $(shell pkg-config --libs ntk ntk_images)
  56. endif
  57. endif
  58. LINK_FLAGS += $(EXTRA_LIBS)
  59. # --------------------------------------------------------------
  60. # LIBS = ../backend/libcarla_engine_xx.a
  61. # LIBS += ../backend/libcarla_plugin.a
  62. LIBS += ../backend/libcarla_native.a
  63. LIBS += ../modules/rtmempool.a
  64. LIBS += ../modules/widgets.a
  65. LIBS += ../modules/juce_core.a
  66. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  67. LIBS += ../modules/lilv.a
  68. endif
  69. ifeq ($(HAVE_OPENGL),true)
  70. LIBS += ../modules/dgl.a
  71. endif
  72. ifeq ($(WIN32),true)
  73. TARGETS = carla-native.lv2/carla-native.dll
  74. TARGETS += carla-native-export.exe
  75. else
  76. ifeq ($(MACOS),true)
  77. TARGETS = carla-native.lv2/carla-native.dylib
  78. else
  79. TARGETS = carla-native.lv2/carla-native.so
  80. endif
  81. TARGETS += carla-native-export
  82. endif
  83. # --------------------------------------------------------------
  84. all: $(TARGETS)
  85. clean:
  86. rm -f *.o
  87. rm -f carla-native.lv2/*
  88. debug:
  89. $(MAKE) DEBUG=true
  90. # --------------------------------------------------------------
  91. %.cpp.o: %.cpp ../backend/CarlaNative.h
  92. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  93. carla-native.lv2/carla-native.dll: carla-native-plugin.cpp.o $(LIBS)
  94. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  95. carla-native.lv2/carla-native.dylib: carla-native-plugin.cpp.o $(LIBS)
  96. $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
  97. carla-native.lv2/carla-native.so: carla-native-plugin.cpp.o $(LIBS)
  98. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  99. carla-native-export: carla-native-export.cpp.o $(LIBS)
  100. $(CXX) $^ $(LINK_FLAGS) -o $@
  101. ./carla-native-export
  102. carla-native-export.exe: carla-native-export.cpp.o $(LIBS)
  103. $(CXX) $^ $(LINK_FLAGS) -o $@
  104. ./carla-native-export.exe
  105. # --------------------------------------------------------------
  106. .FORCE:
  107. .PHONY: .FORCE
  108. ../backend/libcarla_%.a: .FORCE
  109. $(MAKE) -C ../backend/$*
  110. ../modules/%.a: .FORCE
  111. $(MAKE) -C ../modules $*