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 4.7KB

11 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
10 years ago
11 years ago
10 years ago
11 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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. # --------------------------------------------------------------