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.

234 lines
6.8KB

  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_FRONTEND),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 Qt and/or 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. @printf -- "CLAP: $(ANS_YES)\n"
  112. ifeq ($(MACOS_OR_WINDOWS),true)
  113. ifeq ($(USING_JUCE),true)
  114. @printf -- "VST2: $(ANS_YES) (with UI, using JUCE)\n"
  115. @printf -- "VST3: $(ANS_YES) (with UI, using JUCE)\n"
  116. else # USING_JUCE
  117. @printf -- "VST2: $(ANS_YES) (with UI)\n"
  118. @printf -- "VST3: $(ANS_NO)\n"
  119. endif # USING_JUCE
  120. else # MACOS_OR_WINDOWS
  121. ifeq ($(HAIKU),true)
  122. @printf -- "VST2: $(ANS_YES) (without UI)\n"
  123. @printf -- "VST3: $(ANS_NO)\n"
  124. else # HAIKU
  125. ifeq ($(HAVE_X11),true)
  126. @printf -- "VST2: $(ANS_YES) (with UI)\n"
  127. ifeq ($(USING_JUCE),true)
  128. @printf -- "VST3: $(ANS_YES) (with UI, using JUCE)\n"
  129. else # USING_JUCE
  130. @printf -- "VST3: $(ANS_NO)\n"
  131. endif # USING_JUCE
  132. else # HAVE_X11
  133. @printf -- "VST2: $(ANS_YES) (without UI) $(mS)Missing X11$(mE)\n"
  134. @printf -- "VST3: $(ANS_NO)\n"
  135. endif # HAVE_X11
  136. endif # HAIKU
  137. endif # MACOS_OR_WINDOWS
  138. ifeq ($(MACOS),true)
  139. ifeq ($(USING_JUCE),true)
  140. @printf -- "AU: $(ANS_YES) (with UI, using JUCE)\n"
  141. else # USING_JUCE
  142. @printf -- "AU: $(ANS_NO)\n"
  143. endif # USING_JUCE
  144. else # MACOS
  145. @printf -- "AU: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  146. endif # MACOS
  147. @printf -- "\n"
  148. @printf -- "$(tS)---> LV2 UI toolkit support: $(tE)\n"
  149. @printf -- "External: $(ANS_YES) (direct)\n"
  150. @printf -- "Gtk2: $(ANS_YES) (bridge)\n"
  151. @printf -- "Gtk3: $(ANS_YES) (bridge)\n"
  152. ifneq ($(MACOS_OR_WINDOWS),true)
  153. ifeq ($(HAVE_QT4),true)
  154. @printf -- "Qt4: $(ANS_YES) (bridge)\n"
  155. else
  156. @printf -- "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)\n"
  157. endif
  158. ifeq ($(HAVE_QT5),true)
  159. @printf -- "Qt5: $(ANS_YES) (bridge)\n"
  160. else
  161. @printf -- "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)\n"
  162. endif
  163. ifeq ($(HAVE_X11),true)
  164. @printf -- "X11: $(ANS_YES) (direct+bridge)\n"
  165. else
  166. @printf -- "X11: $(ANS_NO) $(mS)X11 missing$(mE)\n"
  167. endif
  168. else # !MACOS_OR_WINDOWS
  169. @printf -- "Qt4: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  170. @printf -- "Qt5: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  171. @printf -- "X11: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  172. endif # !MACOS_OR_WINDOWS
  173. ifeq ($(MACOS),true)
  174. @printf -- "Cocoa: $(ANS_YES) (direct+bridge)\n"
  175. else
  176. @printf -- "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  177. endif
  178. ifeq ($(WINDOWS),true)
  179. @printf -- "Windows: $(ANS_YES) (direct+bridge)\n"
  180. else
  181. @printf -- "Windows: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  182. endif
  183. @printf -- "\n"
  184. @printf -- "$(tS)---> File formats: $(tE)\n"
  185. ifeq ($(HAVE_SNDFILE),true)
  186. @printf -- "Basic: $(ANS_YES)\n"
  187. else
  188. @printf -- "Basic: $(ANS_NO) $(mS)libsndfile missing$(mE)\n"
  189. endif
  190. @printf -- "MP3: $(ANS_YES)\n"
  191. ifeq ($(HAVE_FFMPEG),true)
  192. @printf -- "Extra: $(ANS_YES)\n"
  193. else
  194. @printf -- "Extra: $(ANS_NO) $(mS)FFmpeg missing or too new$(mE)\n"
  195. endif
  196. # ifeq ($(HAVE_FLUIDSYNTH_INSTPATCH),true)
  197. # @printf -- "DLS: $(ANS_YES)\n"
  198. # else
  199. # @printf -- "DLS: $(ANS_NO) $(mS)FluidSynth/instpatch missing or too old$(mE)\n"
  200. # endif
  201. ifeq ($(HAVE_FLUIDSYNTH),true)
  202. @printf -- "SF2/3: $(ANS_YES)\n"
  203. else
  204. @printf -- "SF2/3: $(ANS_NO) $(mS)FluidSynth missing or too old$(mE)\n"
  205. endif
  206. @printf -- "SFZ: $(ANS_YES)\n"
  207. @printf -- "\n"
  208. @printf -- "$(tS)---> Internal plugins: $(tE)\n"
  209. @printf -- "Basic Plugins: $(ANS_YES)\n"
  210. @printf -- "Carla-Patchbay: $(ANS_YES)\n"
  211. @printf -- "Carla-Rack: $(ANS_YES)\n"
  212. ifeq ($(EXTERNAL_PLUGINS),true)
  213. @printf -- "External Plugins: $(ANS_YES)\n"
  214. else
  215. @printf -- "External Plugins: $(ANS_NO)\n"
  216. endif
  217. ifneq ($(EXTERNAL_PLUGINS),true)
  218. features_print_external_plugins:
  219. endif
  220. features: features_print_main features_print_external_plugins
  221. # ---------------------------------------------------------------------------------------------------------------------