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.

225 lines
6.5KB

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