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.

181 lines
5.4KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-discovery #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.mk
  7. # --------------------------------------------------------------
  8. BUILD_CXX_FLAGS += -I../backend -I../includes -I../utils -isystem ../modules
  9. BUILD_CXX_FLAGS += -I../includes/ladspa -I../includes/vst -I../includes/vst3
  10. #-Wno-multichar
  11. ifeq ($(MACOS),true)
  12. BUILD_CXX_FLAGS += -ObjC++
  13. WANT_JUCE_PROCESSORS = true
  14. endif
  15. ifeq ($(WIN32),true)
  16. WANT_JUCE_PROCESSORS = true
  17. endif
  18. BUILD_CXX_FLAGS += $(QTCORE_FLAGS)
  19. LINK_FLAGS += $(QTCORE_LIBS)
  20. # --------------------------------------------------------------
  21. BUILD_CXX_FLAGS += -DWANT_NATIVE
  22. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  23. BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST -DWANT_VST3 -DWANT_AU
  24. ifeq ($(CARLA_VESTIGE_HEADER),true)
  25. BUILD_CXX_FLAGS += -DVESTIGE_HEADER
  26. endif
  27. endif
  28. # --------------------------------------------------------------
  29. # ifeq ($(HAVE_CSOUND),true)
  30. # NATIVE_FLAGS += $(shell pkg-config --cflags --libs sndfile) -lcsound64 -DWANT_CSOUND
  31. # endif
  32. ifeq ($(HAVE_FLUIDSYNTH),true)
  33. NATIVE_FLAGS += $(FLUIDSYNTH_FLAGS) $(FLUIDSYNTH_LIBS) -DWANT_FLUIDSYNTH
  34. endif
  35. ifeq ($(HAVE_LINUXSAMPLER),true)
  36. NATIVE_FLAGS += $(LINUXSAMPLER_FLAGS) $(LINUXSAMPLER_LIBS) -DWANT_LINUXSAMPLER
  37. endif
  38. # --------------------------------------------------------------
  39. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  40. LIBS += ../modules/lilv.a
  41. LIBS_posix32 += ../modules/lilv.posix32.a
  42. LIBS_posix64 += ../modules/lilv.posix64.a
  43. LIBS_win32 += ../modules/lilv.win32.a
  44. LIBS_win64 += ../modules/lilv.win64.a
  45. LINK_FLAGS += $(LILV_LIBS)
  46. endif
  47. ifeq ($(HAVE_JUCE),true)
  48. LIBS += ../modules/juce_audio_basics.a
  49. LIBS_posix32 += ../modules/juce_audio_basics.posix32.a
  50. LIBS_posix64 += ../modules/juce_audio_basics.posix64.a
  51. LIBS_win32 += ../modules/juce_audio_basics.win32.a
  52. LIBS_win64 += ../modules/juce_audio_basics.win64.a
  53. LIBS += ../modules/juce_core.a
  54. LIBS_posix32 += ../modules/juce_core.posix32.a
  55. LIBS_posix64 += ../modules/juce_core.posix64.a
  56. LIBS_win32 += ../modules/juce_core.win32.a
  57. LIBS_win64 += ../modules/juce_core.win64.a
  58. LINK_FLAGS += $(JUCE_CORE_LIBS) $(JUCE_AUDIO_BASICS_LIBS)
  59. endif
  60. ifeq ($(WANT_JUCE_PROCESSORS),true)
  61. LIBS += ../modules/juce_audio_processors.a
  62. LIBS += ../modules/juce_data_structures.a
  63. LIBS += ../modules/juce_events.a
  64. LIBS += ../modules/juce_graphics.a
  65. LIBS += ../modules/juce_gui_basics.a
  66. LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
  67. LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
  68. LINK_FLAGS += $(JUCE_EVENTS_LIBS)
  69. LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
  70. LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
  71. endif
  72. POSIX_BUILD_FLAGS = $(BUILD_CXX_FLAGS)
  73. POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  74. POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  75. POSIX_LINK_FLAGS = $(LINK_FLAGS)
  76. ifneq ($(HAIKU),true)
  77. POSIX_LINK_FLAGS += -ldl
  78. endif
  79. WIN_BUILD_FLAGS = $(BUILD_CXX_FLAGS)
  80. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  81. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  82. WIN_LINK_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS)
  83. # --------------------------------------------------------------
  84. DEPS = ../includes/CarlaDefines.h
  85. DEPS += ../includes/CarlaMIDI.h
  86. DEPS += ../backend/CarlaBackend.h
  87. DEPS += ../utils/CarlaString.hpp
  88. DEPS += ../utils/CarlaUtils.hpp
  89. DEPS += ../utils/CarlaBackendUtils.hpp
  90. DEPS += ../utils/CarlaJuceUtils.hpp
  91. DEPS += ../utils/CarlaLibUtils.hpp
  92. DEPS += ../utils/CarlaMathUtils.hpp
  93. DEPS += ../utils/CarlaLadspaUtils.hpp
  94. DEPS += ../utils/CarlaDssiUtils.hpp
  95. DEPS += ../utils/CarlaLv2Utils.hpp
  96. DEPS += ../utils/CarlaVstUtils.hpp
  97. OBJS = carla-discovery.cpp
  98. # --------------------------------------------------------------
  99. ifeq ($(WIN32),true)
  100. all: carla-discovery-native.exe
  101. else
  102. all: carla-discovery-native
  103. endif
  104. posix32: carla-discovery-posix32
  105. posix64: carla-discovery-posix64
  106. win32: carla-discovery-win32.exe
  107. win64: carla-discovery-win64.exe
  108. # --------------------------------------------------------------
  109. carla-discovery-native: $(OBJS) $(DEPS) $(LIBS)
  110. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group $(POSIX_BUILD_FLAGS) $(NATIVE_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  111. carla-discovery-native.exe: $(OBJS) $(DEPS) $(LIBS)
  112. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group $(WIN_BUILD_FLAGS) $(NATIVE_FLAGS) $(WIN_LINK_FLAGS) -o $@
  113. carla-discovery-posix32: $(OBJS) $(DEPS) $(LIBS_posix32)
  114. $(CXX) $< $(LIBS_posix32) $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  115. carla-discovery-posix64: $(OBJS) $(DEPS) $(LIBS_posix64)
  116. $(CXX) $< $(LIBS_posix64) $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  117. carla-discovery-win32.exe: $(OBJS) $(DEPS) $(LIBS_win32)
  118. $(CXX) $< $(LIBS_win32) $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@
  119. carla-discovery-win64.exe: $(OBJS) $(DEPS) $(LIBS_win64)
  120. $(CXX) $< $(LIBS_win64) $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@
  121. # --------------------------------------------------------------
  122. clean:
  123. rm -f carla-discovery-*
  124. debug:
  125. $(MAKE) DEBUG=true
  126. # --------------------------------------------------------------
  127. .FORCE:
  128. .PHONY: .FORCE
  129. ../modules/juce_audio_basics.%.a: .FORCE
  130. $(MAKE) -C ../modules juce_audio_basics_$*
  131. ../modules/juce_core.%.a: .FORCE
  132. $(MAKE) -C ../modules juce_core_$*
  133. ../modules/lilv.%.a: .FORCE
  134. $(MAKE) -C ../modules lilv_$*
  135. ../modules/%.a: .FORCE
  136. $(MAKE) -C ../modules $*
  137. # --------------------------------------------------------------