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.

154 lines
3.8KB

  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../includes -I../modules -I../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. # --------------------------------------------------------------
  25. # Plugin
  26. # ifeq ($(HAVE_FLUIDSYNTH),true)
  27. # LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
  28. # endif
  29. #
  30. # ifeq ($(HAVE_LINUXSAMPLER),true)
  31. # LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
  32. # endif
  33. # --------------------------------------------------------------
  34. # Native
  35. DGL_LIBS = -lX11 -lXext
  36. ifeq ($(HAVE_OPENGL),true)
  37. LINK_FLAGS += $(shell pkg-config --libs gl) $(DGL_LIBS)
  38. endif
  39. ifeq ($(HAVE_AF_DEPS),true)
  40. LINK_FLAGS += $(shell pkg-config --libs sndfile)
  41. ifeq ($(HAVE_FFMPEG),true)
  42. LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
  43. endif
  44. endif
  45. ifeq ($(HAVE_MF_DEPS),true)
  46. LINK_FLAGS += $(shell pkg-config --libs smf)
  47. endif
  48. ifeq ($(HAVE_ZYN_DEPS),true)
  49. LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
  50. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  51. LINK_FLAGS += $(shell pkg-config --libs ntk_images ntk) -lfreetype # FIXME
  52. endif
  53. endif
  54. LINK_FLAGS += $(EXTRA_LIBS)
  55. # --------------------------------------------------------------
  56. LIBS = ../modules/carla_native.a
  57. LIBS += ../modules/juce_audio_basics.a
  58. LIBS += ../modules/juce_core.a
  59. LIBS += ../modules/juce_data_structures.a
  60. LIBS += ../modules/juce_events.a
  61. LIBS += ../modules/juce_graphics.a
  62. LIBS += ../modules/juce_gui_basics.a
  63. LIBS += ../modules/rtmempool.a
  64. # ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  65. # LIBS += ../modules/lilv.a
  66. # endif
  67. ifeq ($(HAVE_OPENGL),true)
  68. LIBS += ../modules/dgl.a
  69. endif
  70. ifeq ($(WIN32),true)
  71. TARGETS = carla-native-lv2-export.exe
  72. TARGETS += carla-native.lv2/carla-native.dll
  73. else
  74. TARGETS = carla-native-lv2-export
  75. ifeq ($(MACOS),true)
  76. TARGETS += carla-native.lv2/carla-native.dylib
  77. else
  78. LIBS += -ldl -lpthread -lrt
  79. TARGETS += carla-native.lv2/carla-native.so
  80. endif
  81. endif
  82. # --------------------------------------------------------------
  83. all: $(TARGETS)
  84. clean:
  85. rm -f $(TARGETS) *.o
  86. rm -f carla-native.lv2/*.*
  87. debug:
  88. $(MAKE) DEBUG=true
  89. # --------------------------------------------------------------
  90. carla-native-base.cpp.o: carla-native-base.cpp ../modules/CarlaNative.h
  91. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  92. carla-native-lv2.cpp.o: carla-native-lv2.cpp carla-native-base.cpp ../modules/CarlaNative.h
  93. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  94. carla-native-lv2-export.cpp.o: carla-native-lv2-export.cpp carla-native-base.cpp ../modules/CarlaNative.h
  95. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  96. # --------------------------------------------------------------
  97. carla-native.lv2/carla-native.dll: carla-native-lv2.cpp.o $(LIBS)
  98. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  99. carla-native.lv2/carla-native.dylib: carla-native-lv2.cpp.o $(LIBS)
  100. $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
  101. carla-native.lv2/carla-native.so: carla-native-lv2.cpp.o $(LIBS)
  102. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  103. carla-native-lv2-export: carla-native-lv2-export.cpp.o $(LIBS)
  104. $(CXX) $^ $(LINK_FLAGS) -o $@
  105. ./carla-native-lv2-export
  106. carla-native-lv2-export.exe: carla-native-lv2-export.cpp.o $(LIBS)
  107. $(CXX) $^ $(LINK_FLAGS) -o $@
  108. ./carla-native-lv2-export.exe
  109. # --------------------------------------------------------------
  110. .FORCE:
  111. .PHONY: .FORCE carla-native-lv2-export carla-native-lv2-export.exe
  112. ../modules/%.a: .FORCE
  113. $(MAKE) -C ../modules $*