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

11 years ago
10 years ago
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
11 years ago
10 years ago
10 years ago
11 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  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
  24. ifeq ($(MACOS),true)
  25. BUILD_CXX_FLAGS += -DWANT_AU
  26. endif
  27. ifeq ($(CARLA_VESTIGE_HEADER),true)
  28. BUILD_CXX_FLAGS += -DVESTIGE_HEADER
  29. endif
  30. endif
  31. # --------------------------------------------------------------
  32. # ifeq ($(HAVE_CSOUND),true)
  33. # NATIVE_FLAGS += $(shell pkg-config --cflags --libs sndfile) -lcsound64 -DWANT_CSOUND
  34. # endif
  35. ifeq ($(HAVE_FLUIDSYNTH),true)
  36. NATIVE_FLAGS += $(FLUIDSYNTH_FLAGS) $(FLUIDSYNTH_LIBS) -DWANT_FLUIDSYNTH
  37. endif
  38. ifeq ($(HAVE_LINUXSAMPLER),true)
  39. NATIVE_FLAGS += $(LINUXSAMPLER_FLAGS) $(LINUXSAMPLER_LIBS) -DWANT_LINUXSAMPLER
  40. endif
  41. # --------------------------------------------------------------
  42. ifeq ($(CARLA_PLUGIN_SUPPORT),true)
  43. LIBS += ../modules/lilv.a
  44. LIBS_posix32 += ../modules/lilv.posix32.a
  45. LIBS_posix64 += ../modules/lilv.posix64.a
  46. LIBS_win32 += ../modules/lilv.win32.a
  47. LIBS_win64 += ../modules/lilv.win64.a
  48. LINK_FLAGS += $(LILV_LIBS)
  49. endif
  50. ifeq ($(HAVE_JUCE),true)
  51. LIBS += ../modules/juce_audio_basics.a
  52. LIBS_posix32 += ../modules/juce_audio_basics.posix32.a
  53. LIBS_posix64 += ../modules/juce_audio_basics.posix64.a
  54. LIBS_win32 += ../modules/juce_audio_basics.win32.a
  55. LIBS_win64 += ../modules/juce_audio_basics.win64.a
  56. LIBS += ../modules/juce_core.a
  57. LIBS_posix32 += ../modules/juce_core.posix32.a
  58. LIBS_posix64 += ../modules/juce_core.posix64.a
  59. LIBS_win32 += ../modules/juce_core.win32.a
  60. LIBS_win64 += ../modules/juce_core.win64.a
  61. LINK_FLAGS += $(JUCE_CORE_LIBS) $(JUCE_AUDIO_BASICS_LIBS)
  62. endif
  63. ifeq ($(WANT_JUCE_PROCESSORS),true)
  64. LIBS += ../modules/juce_audio_processors.a
  65. LIBS_posix32 += ../modules/juce_audio_processors.posix32.a
  66. LIBS_posix64 += ../modules/juce_audio_processors.posix64.a
  67. LIBS_win32 += ../modules/juce_audio_processors.win32.a
  68. LIBS_win64 += ../modules/juce_audio_processors.win64.a
  69. LIBS += ../modules/juce_data_structures.a
  70. LIBS_posix32 += ../modules/juce_data_structures.posix32.a
  71. LIBS_posix64 += ../modules/juce_data_structures.posix64.a
  72. LIBS_win32 += ../modules/juce_data_structures.win32.a
  73. LIBS_win64 += ../modules/juce_data_structures.win64.a
  74. LIBS += ../modules/juce_events.a
  75. LIBS_posix32 += ../modules/juce_events.posix32.a
  76. LIBS_posix64 += ../modules/juce_events.posix64.a
  77. LIBS_win32 += ../modules/juce_events.win32.a
  78. LIBS_win64 += ../modules/juce_events.win64.a
  79. LIBS += ../modules/juce_graphics.a
  80. LIBS_posix32 += ../modules/juce_graphics.posix32.a
  81. LIBS_posix64 += ../modules/juce_graphics.posix64.a
  82. LIBS_win32 += ../modules/juce_graphics.win32.a
  83. LIBS_win64 += ../modules/juce_graphics.win64.a
  84. LIBS += ../modules/juce_gui_basics.a
  85. LIBS_posix32 += ../modules/juce_gui_basics.posix32.a
  86. LIBS_posix64 += ../modules/juce_gui_basics.posix64.a
  87. LIBS_win32 += ../modules/juce_gui_basics.win32.a
  88. LIBS_win64 += ../modules/juce_gui_basics.win64.a
  89. LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
  90. LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
  91. LINK_FLAGS += $(JUCE_EVENTS_LIBS)
  92. LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
  93. LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
  94. ifeq ($(MACOS),true)
  95. LIBS += ../modules/juce_gui_extra.a
  96. LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
  97. endif
  98. endif
  99. POSIX_BUILD_FLAGS = $(BUILD_CXX_FLAGS)
  100. POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  101. POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  102. POSIX_LINK_FLAGS = $(LINK_FLAGS)
  103. ifneq ($(HAIKU),true)
  104. POSIX_LINK_FLAGS += -ldl
  105. endif
  106. WIN_BUILD_FLAGS = $(BUILD_CXX_FLAGS)
  107. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  108. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  109. WIN_LINK_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS)
  110. # --------------------------------------------------------------
  111. DEPS = ../includes/CarlaDefines.h
  112. DEPS += ../includes/CarlaMIDI.h
  113. DEPS += ../backend/CarlaBackend.h
  114. DEPS += ../utils/CarlaString.hpp
  115. DEPS += ../utils/CarlaUtils.hpp
  116. DEPS += ../utils/CarlaBackendUtils.hpp
  117. DEPS += ../utils/CarlaJuceUtils.hpp
  118. DEPS += ../utils/CarlaLibUtils.hpp
  119. DEPS += ../utils/CarlaMathUtils.hpp
  120. DEPS += ../utils/CarlaLadspaUtils.hpp
  121. DEPS += ../utils/CarlaDssiUtils.hpp
  122. DEPS += ../utils/CarlaLv2Utils.hpp
  123. DEPS += ../utils/CarlaVstUtils.hpp
  124. OBJS = carla-discovery.cpp
  125. # --------------------------------------------------------------
  126. ifeq ($(WIN32),true)
  127. all: carla-discovery-native.exe
  128. else
  129. all: carla-discovery-native
  130. endif
  131. posix32: carla-discovery-posix32
  132. posix64: carla-discovery-posix64
  133. win32: carla-discovery-win32.exe
  134. win64: carla-discovery-win64.exe
  135. # --------------------------------------------------------------
  136. carla-discovery-native: $(OBJS) $(DEPS) $(LIBS)
  137. ifeq ($(MACOS),true)
  138. $(CXX) $< $(LIBS) $(POSIX_BUILD_FLAGS) $(NATIVE_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  139. else
  140. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group $(POSIX_BUILD_FLAGS) $(NATIVE_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  141. endif
  142. carla-discovery-native.exe: $(OBJS) $(DEPS) $(LIBS)
  143. $(CXX) $< -Wl,--start-group $(LIBS) -Wl,--end-group $(WIN_BUILD_FLAGS) $(NATIVE_FLAGS) $(WIN_LINK_FLAGS) -o $@
  144. carla-discovery-posix32: $(OBJS) $(DEPS) $(LIBS_posix32)
  145. $(CXX) $< -Wl,--start-group $(LIBS_posix32) -Wl,--end-group $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  146. carla-discovery-posix64: $(OBJS) $(DEPS) $(LIBS_posix64)
  147. $(CXX) $< -Wl,--start-group $(LIBS_posix64) -Wl,--end-group $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@
  148. carla-discovery-win32.exe: $(OBJS) $(DEPS) $(LIBS_win32)
  149. $(CXX) $< -Wl,--start-group $(LIBS_win32) -Wl,--end-group $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@
  150. carla-discovery-win64.exe: $(OBJS) $(DEPS) $(LIBS_win64)
  151. $(CXX) $< -Wl,--start-group $(LIBS_win64) -Wl,--end-group $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@
  152. # --------------------------------------------------------------
  153. clean:
  154. rm -f carla-discovery-*
  155. debug:
  156. $(MAKE) DEBUG=true
  157. # --------------------------------------------------------------
  158. .FORCE:
  159. .PHONY: .FORCE
  160. ../modules/juce_audio_basics.%.a: .FORCE
  161. $(MAKE) -C ../modules juce_audio_basics_$*
  162. ../modules/juce_audio_processors.%.a: .FORCE
  163. $(MAKE) -C ../modules juce_audio_processors_$*
  164. ../modules/juce_core.%.a: .FORCE
  165. $(MAKE) -C ../modules juce_core_$*
  166. ../modules/juce_data_structures.%.a: .FORCE
  167. $(MAKE) -C ../modules juce_data_structures_$*
  168. ../modules/juce_events.%.a: .FORCE
  169. $(MAKE) -C ../modules juce_events_$*
  170. ../modules/juce_graphics.%.a: .FORCE
  171. $(MAKE) -C ../modules juce_graphics_$*
  172. ../modules/juce_gui_basics.%.a: .FORCE
  173. $(MAKE) -C ../modules juce_gui_basics_$*
  174. ../modules/lilv.%.a: .FORCE
  175. $(MAKE) -C ../modules lilv_$*
  176. ../modules/%.a: .FORCE
  177. $(MAKE) -C ../modules $*
  178. # --------------------------------------------------------------