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.

228 lines
6.6KB

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