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.

183 lines
4.7KB

  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../utils -isystem ../modules
  8. # --------------------------------------------------------------
  9. ifeq ($(HAVE_AF_DEPS),true)
  10. BUILD_CXX_FLAGS += -DWANT_AUDIOFILE
  11. endif
  12. ifeq ($(HAVE_MF_DEPS),true)
  13. BUILD_CXX_FLAGS += -DWANT_MIDIFILE
  14. endif
  15. ifeq ($(HAVE_ZYN_DEPS),true)
  16. BUILD_CXX_FLAGS += -DWANT_ZYNADDSUBFX
  17. endif
  18. # --------------------------------------------------------------
  19. # Common
  20. LINK_FLAGS += $(LIBLO_LIBS)
  21. LINK_FLAGS += $(QTCORE_LIBS)
  22. LINK_FLAGS += $(QTXML_LIBS)
  23. LINK_FLAGS += $(RTMEMPOOL_LIBS)
  24. # --------------------------------------------------------------
  25. # Engine
  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 += $(FLUIDSYNTH_LIBS)
  34. endif
  35. ifeq ($(HAVE_LINUXSAMPLER),true)
  36. LINK_FLAGS += $(LINUXSAMPLER_LIBS)
  37. endif
  38. # --------------------------------------------------------------
  39. # Coomon
  40. ifeq ($(HAVE_DGL),true)
  41. LINK_FLAGS += $(DGL_LIBS)
  42. endif
  43. ifeq ($(HAVE_JUCE),true)
  44. LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
  45. LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
  46. LINK_FLAGS += $(JUCE_CORE_LIBS)
  47. LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
  48. LINK_FLAGS += $(JUCE_EVENTS_LIBS)
  49. LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
  50. LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
  51. LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
  52. endif
  53. # --------------------------------------------------------------
  54. # Native
  55. LINK_FLAGS += $(NATIVE_PLUGINS_LIBS)
  56. # --------------------------------------------------------------
  57. # Libs
  58. LIBS += ../backend/carla_engine_plugin.a
  59. LIBS += ../backend/carla_plugin.a
  60. LIBS += ../modules/native-plugins.a
  61. LIBS += ../modules/jackbridge.a
  62. LIBS += ../modules/rtmempool.a
  63. ifeq ($(HAVE_AF_DEPS),true)
  64. LIBS += ../modules/audio_decoder.a
  65. endif
  66. ifeq ($(HAVE_DGL),true)
  67. LIBS += ../modules/dgl.a
  68. endif
  69. ifeq ($(HAVE_JUCE),true)
  70. LIBS += ../modules/juce_audio_basics.a
  71. LIBS += ../modules/juce_audio_processors.a
  72. LIBS += ../modules/juce_core.a
  73. LIBS += ../modules/juce_data_structures.a
  74. LIBS += ../modules/juce_events.a
  75. LIBS += ../modules/juce_graphics.a
  76. LIBS += ../modules/juce_gui_basics.a
  77. LIBS += ../modules/juce_gui_extra.a
  78. endif
  79. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  80. LIBS += ../modules/lilv.a
  81. endif
  82. # --------------------------------------------------------------
  83. ifeq ($(WIN32),true)
  84. TARGETS = carla-native-lv2-export.exe carla-native.lv2/carla-native.dll
  85. else
  86. ifeq ($(MACOS),true)
  87. TARGETS = carla-native-lv2-export carla-native.lv2/carla-native.dylib
  88. else
  89. TARGETS = carla-native-lv2-export carla-native.lv2/carla-native.so
  90. endif
  91. endif
  92. # --------------------------------------------------------------
  93. all: $(TARGETS)
  94. clean:
  95. $(RM) $(TARGETS) *.o
  96. $(RM) carla-native.lv2/*.*
  97. debug:
  98. $(MAKE) DEBUG=true
  99. # --------------------------------------------------------------
  100. carla-native-base.cpp.o: carla-native-base.cpp ../modules/CarlaNative.h
  101. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  102. carla-native-lv2.cpp.o: carla-native-lv2.cpp carla-native-base.cpp ../modules/CarlaNative.h
  103. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  104. carla-native-lv2-export.cpp.o: carla-native-lv2-export.cpp carla-native-base.cpp ../modules/CarlaNative.h
  105. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  106. # --------------------------------------------------------------
  107. carla-native-lv2-export: carla-native-lv2-export.cpp.o $(LIBS)
  108. ifneq ($(MACOS),true)
  109. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group $(LINK_FLAGS) -o $@
  110. else
  111. $(CXX) $< $(LIBS) $(LINK_FLAGS) -o $@
  112. endif
  113. ./carla-native-lv2-export
  114. carla-native-lv2-export.exe: carla-native-lv2-export.cpp.o $(LIBS)
  115. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group $(LINK_FLAGS) -o $@
  116. ./carla-native-lv2-export.exe
  117. # --------------------------------------------------------------
  118. carla-native.lv2/carla-native.dll: carla-native-lv2.cpp.o $(LIBS)
  119. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group -shared $(LINK_FLAGS) -o $@
  120. carla-native.lv2/carla-native.dylib: carla-native-lv2.cpp.o $(LIBS)
  121. $(CXX) $< $(LIBS) -dynamiclib $(LINK_FLAGS) -o $@
  122. carla-native.lv2/carla-native.so: carla-native-lv2.cpp.o $(LIBS)
  123. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group -shared $(LINK_FLAGS) -o $@
  124. # --------------------------------------------------------------
  125. .FORCE:
  126. .PHONY: .FORCE carla-native-lv2-export
  127. ../backend/carla_engine_plugin.a: .FORCE
  128. $(MAKE) -C ../backend/engine ../carla_engine_plugin.a
  129. ../backend/carla_plugin.a: .FORCE
  130. $(MAKE) -C ../backend/plugin ../carla_plugin.a
  131. ../modules/%.a: .FORCE
  132. $(MAKE) -C ../modules $*
  133. # --------------------------------------------------------------