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.

233 lines
6.7KB

  1. #!/usr/bin/make -f
  2. # Makefile for Carla #
  3. # ------------------ #
  4. # Created by falkTX
  5. #
  6. # NOTE to be imported from main Makefile
  7. # ----------------------------------------------------------------------------------------------------------------------------
  8. ifneq ($(MAKE_TERMOUT),)
  9. ANS_NO=\033[31mNO\033[0m
  10. ANS_YES=\033[32mYES\033[0m
  11. mS=\033[33m[
  12. mZ=\033[30;1m[
  13. mE=]\033[0m
  14. tS=\033[36m
  15. tE=\033[0m
  16. else
  17. ANS_NO=NO
  18. ANS_YES=YES
  19. mS=[
  20. mZ=[
  21. mE=]
  22. endif
  23. features_print_main:
  24. @printf -- "$(tS)---> Main features $(tE)\n"
  25. ifeq ($(HAVE_PYQT),true)
  26. @printf -- "Front-End: $(ANS_YES)\n"
  27. @printf -- "LV2 plugin: $(ANS_YES)\n"
  28. ifneq ($(HAIKU),true)
  29. @printf -- "VST2 plugin: $(ANS_YES)\n"
  30. else
  31. @printf -- "VST2 plugin: $(ANS_NO) $(mZ)Not available for Haiku$(mE)\n"
  32. endif
  33. else
  34. @printf -- "Front-End: $(ANS_NO) $(mS)Missing PyQt$(mE)\n"
  35. @printf -- "LV2 plugin: $(ANS_NO) $(mS)No front-end$(mE)\n"
  36. @printf -- "VST2 plugin: $(ANS_NO) $(mS)No front-end$(mE)\n"
  37. endif
  38. ifeq ($(HAVE_HYLIA),true)
  39. @printf -- "Link support: $(ANS_YES)\n"
  40. else
  41. ifeq ($(MACOS_OLD),true)
  42. @printf -- "Link support: $(ANS_NO) $(mZ)MacOS >= 10.8 only$(mE)\n"
  43. else
  44. @printf -- "Link support: $(ANS_NO) $(mZ)Linux, MacOS and Windows only$(mE)\n"
  45. endif
  46. endif
  47. ifeq ($(HAVE_LIBLO),true)
  48. @printf -- "OSC support: $(ANS_YES)\n"
  49. else
  50. @printf -- "OSC support: $(ANS_NO) $(mS)Missing liblo$(mE)\n"
  51. endif
  52. ifeq ($(WINDOWS),true)
  53. @printf -- "Binary detect: $(ANS_YES)\n"
  54. else
  55. ifeq ($(HAVE_LIBMAGIC),true)
  56. @printf -- "Binary detect: $(ANS_YES)\n"
  57. else
  58. @printf -- "Binary detect: $(ANS_NO) $(mS)Missing libmagic/file$(mE)\n"
  59. endif
  60. endif
  61. @printf -- "\n"
  62. @printf -- "$(tS)---> Engine drivers $(tE)\n"
  63. @printf -- "JACK: $(ANS_YES)\n"
  64. ifeq ($(LINUX),true)
  65. ifeq ($(HAVE_ALSA),true)
  66. @printf -- "ALSA: $(ANS_YES)\n"
  67. else
  68. @printf -- "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)\n"
  69. endif
  70. else
  71. @printf -- "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)\n"
  72. endif
  73. ifeq ($(UNIX),true)
  74. ifneq ($(MACOS),true)
  75. ifeq ($(HAVE_PULSEAUDIO),true)
  76. @printf -- "PulseAudio: $(ANS_YES)\n"
  77. else
  78. @printf -- "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)\n"
  79. endif
  80. else
  81. @printf -- "PulseAudio: $(ANS_NO) $(mZ)Not available for MacOS$(mE)\n"
  82. endif
  83. else
  84. @printf -- "PulseAudio: $(ANS_NO) $(mZ)Only available for Unix systems$(mE)\n"
  85. endif
  86. ifeq ($(MACOS),true)
  87. @printf -- "CoreAudio: $(ANS_YES)\n"
  88. else
  89. @printf -- "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  90. endif
  91. ifeq ($(WINDOWS),true)
  92. @printf -- "ASIO: $(ANS_YES)\n"
  93. @printf -- "DirectSound: $(ANS_YES)\n"
  94. @printf -- "WASAPI: $(ANS_YES)\n"
  95. else
  96. @printf -- "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  97. @printf -- "DirectSound: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  98. @printf -- "WASAPI: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  99. endif
  100. ifeq ($(HAVE_SDL),true)
  101. @printf -- "SDL: $(ANS_YES)\n"
  102. else
  103. @printf -- "SDL: $(ANS_NO) $(mS)Missing SDL$(mE)\n"
  104. endif
  105. @printf -- "\n"
  106. @printf -- "$(tS)---> Plugin formats: $(tE)\n"
  107. @printf -- "Internal: $(ANS_YES)\n"
  108. @printf -- "LADSPA: $(ANS_YES)\n"
  109. @printf -- "DSSI: $(ANS_YES)\n"
  110. @printf -- "LV2: $(ANS_YES)\n"
  111. ifeq ($(MACOS_OR_WINDOWS),true)
  112. ifeq ($(USING_JUCE),true)
  113. @printf -- "VST2: $(ANS_YES) (with UI, using JUCE)\n"
  114. @printf -- "VST3: $(ANS_YES) (with UI, using JUCE)\n"
  115. else # USING_JUCE
  116. @printf -- "VST2: $(ANS_YES) (with UI)\n"
  117. @printf -- "VST3: $(ANS_NO)\n"
  118. endif # USING_JUCE
  119. else # MACOS_OR_WINDOWS
  120. ifeq ($(HAIKU),true)
  121. @printf -- "VST2: $(ANS_YES) (without UI)\n"
  122. @printf -- "VST3: $(ANS_NO)\n"
  123. else # HAIKU
  124. ifeq ($(HAVE_X11),true)
  125. @printf -- "VST2: $(ANS_YES) (with UI)\n"
  126. ifeq ($(USING_JUCE),true)
  127. @printf -- "VST3: $(ANS_YES) (with UI, using JUCE)\n"
  128. else # USING_JUCE
  129. @printf -- "VST3: $(ANS_NO)\n"
  130. endif # USING_JUCE
  131. else # HAVE_X11
  132. @printf -- "VST2: $(ANS_YES) (without UI) $(mS)Missing X11$(mE)\n"
  133. @printf -- "VST3: $(ANS_NO)\n"
  134. endif # HAVE_X11
  135. endif # HAIKU
  136. endif # MACOS_OR_WINDOWS
  137. ifeq ($(MACOS),true)
  138. ifeq ($(USING_JUCE),true)
  139. @printf -- "AU: $(ANS_YES) (with UI, using JUCE)\n"
  140. else # USING_JUCE
  141. @printf -- "AU: $(ANS_NO)\n"
  142. endif # USING_JUCE
  143. else # MACOS
  144. @printf -- "AU: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  145. endif # MACOS
  146. @printf -- "\n"
  147. @printf -- "$(tS)---> LV2 UI toolkit support: $(tE)\n"
  148. @printf -- "External: $(ANS_YES) (direct)\n"
  149. @printf -- "Gtk2: $(ANS_YES) (bridge)\n"
  150. @printf -- "Gtk3: $(ANS_YES) (bridge)\n"
  151. ifneq ($(MACOS_OR_WINDOWS),true)
  152. ifeq ($(HAVE_QT4),true)
  153. @printf -- "Qt4: $(ANS_YES) (bridge)\n"
  154. else
  155. @printf -- "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)\n"
  156. endif
  157. ifeq ($(HAVE_QT5),true)
  158. @printf -- "Qt5: $(ANS_YES) (bridge)\n"
  159. else
  160. @printf -- "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)\n"
  161. endif
  162. ifeq ($(HAVE_X11),true)
  163. @printf -- "X11: $(ANS_YES) (direct+bridge)\n"
  164. else
  165. @printf -- "X11: $(ANS_NO) $(mS)X11 missing$(mE)\n"
  166. endif
  167. else # !MACOS_OR_WINDOWS
  168. @printf -- "Qt4: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  169. @printf -- "Qt5: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  170. @printf -- "X11: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  171. endif # !MACOS_OR_WINDOWS
  172. ifeq ($(MACOS),true)
  173. @printf -- "Cocoa: $(ANS_YES) (direct+bridge)\n"
  174. else
  175. @printf -- "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  176. endif
  177. ifeq ($(WINDOWS),true)
  178. @printf -- "Windows: $(ANS_YES) (direct+bridge)\n"
  179. else
  180. @printf -- "Windows: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  181. endif
  182. @printf -- "\n"
  183. @printf -- "$(tS)---> File formats: $(tE)\n"
  184. ifeq ($(HAVE_SNDFILE),true)
  185. @printf -- "Basic: $(ANS_YES)\n"
  186. else
  187. @printf -- "Basic: $(ANS_NO) $(mS)libsndfile missing$(mE)\n"
  188. endif
  189. @printf -- "MP3: $(ANS_YES)\n"
  190. ifeq ($(HAVE_FFMPEG),true)
  191. @printf -- "Extra: $(ANS_YES)\n"
  192. else
  193. @printf -- "Extra: $(ANS_NO) $(mS)FFmpeg missing or too new$(mE)\n"
  194. endif
  195. # ifeq ($(HAVE_FLUIDSYNTH_INSTPATCH),true)
  196. # @printf -- "DLS: $(ANS_YES)\n"
  197. # else
  198. # @printf -- "DLS: $(ANS_NO) $(mS)FluidSynth/instpatch missing or too old$(mE)\n"
  199. # endif
  200. ifeq ($(HAVE_FLUIDSYNTH),true)
  201. @printf -- "SF2/3: $(ANS_YES)\n"
  202. else
  203. @printf -- "SF2/3: $(ANS_NO) $(mS)FluidSynth missing or too old$(mE)\n"
  204. endif
  205. @printf -- "SFZ: $(ANS_YES)\n"
  206. @printf -- "\n"
  207. @printf -- "$(tS)---> Internal plugins: $(tE)\n"
  208. @printf -- "Basic Plugins: $(ANS_YES)\n"
  209. @printf -- "Carla-Patchbay: $(ANS_YES)\n"
  210. @printf -- "Carla-Rack: $(ANS_YES)\n"
  211. ifeq ($(EXTERNAL_PLUGINS),true)
  212. @printf -- "External Plugins: $(ANS_YES)\n"
  213. else
  214. @printf -- "External Plugins: $(ANS_NO)\n"
  215. endif
  216. ifneq ($(EXTERNAL_PLUGINS),true)
  217. features_print_external_plugins:
  218. endif
  219. features: features_print_main features_print_external_plugins
  220. # ---------------------------------------------------------------------------------------------------------------------