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

11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 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
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
9 years ago
9 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
6 years ago
11 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959
  1. #!/usr/bin/make -f
  2. # Makefile for Carla #
  3. # ------------------ #
  4. # Created by falkTX
  5. #
  6. CWD=source
  7. include source/Makefile.mk
  8. # ---------------------------------------------------------------------------------------------------------------------
  9. PREFIX := /usr/local
  10. BINDIR := $(PREFIX)/bin
  11. LIBDIR := $(PREFIX)/lib
  12. DATADIR := $(PREFIX)/share
  13. INCLUDEDIR := $(PREFIX)/include
  14. DESTDIR :=
  15. ifeq ($(DEBUG),true)
  16. MODULEDIR := $(CURDIR)/build/modules/Debug
  17. else
  18. MODULEDIR := $(CURDIR)/build/modules/Release
  19. endif
  20. # ---------------------------------------------------------------------------------------------------------------------
  21. all: backend discovery bridges-plugin bridges-ui frontend interposer libjack plugin theme
  22. # ---------------------------------------------------------------------------------------------------------------------
  23. # Binaries (native)
  24. ALL_LIBS += $(MODULEDIR)/carla_engine.a
  25. ALL_LIBS += $(MODULEDIR)/carla_engine_plugin.a
  26. ALL_LIBS += $(MODULEDIR)/carla_plugin.a
  27. ALL_LIBS += $(MODULEDIR)/jackbridge.a
  28. ALL_LIBS += $(MODULEDIR)/native-plugins.a
  29. ALL_LIBS += $(MODULEDIR)/rtmempool.a
  30. 3RD_LIBS += $(MODULEDIR)/audio_decoder.a
  31. 3RD_LIBS += $(MODULEDIR)/lilv.a
  32. 3RD_LIBS += $(MODULEDIR)/sfzero.a
  33. 3RD_LIBS += $(MODULEDIR)/water.a
  34. ifeq ($(HAVE_DGL),true)
  35. 3RD_LIBS += $(MODULEDIR)/dgl.a
  36. endif
  37. ifeq ($(HAVE_HYLIA),true)
  38. 3RD_LIBS += $(MODULEDIR)/hylia.a
  39. endif
  40. ifeq ($(HAVE_QT4),true)
  41. 3RD_LIBS += $(MODULEDIR)/theme.qt4.a
  42. endif
  43. ifeq ($(HAVE_QT5),true)
  44. 3RD_LIBS += $(MODULEDIR)/theme.qt5.a
  45. endif
  46. ifeq ($(USING_JUCE),true)
  47. 3RD_LIBS += $(MODULEDIR)/juce_audio_basics.a
  48. 3RD_LIBS += $(MODULEDIR)/juce_audio_devices.a
  49. 3RD_LIBS += $(MODULEDIR)/juce_audio_processors.a
  50. 3RD_LIBS += $(MODULEDIR)/juce_core.a
  51. 3RD_LIBS += $(MODULEDIR)/juce_data_structures.a
  52. 3RD_LIBS += $(MODULEDIR)/juce_events.a
  53. 3RD_LIBS += $(MODULEDIR)/juce_graphics.a
  54. 3RD_LIBS += $(MODULEDIR)/juce_gui_basics.a
  55. ifeq ($(MACOS),true)
  56. 3RD_LIBS += $(MODULEDIR)/juce_gui_extra.a
  57. endif
  58. else
  59. 3RD_LIBS += $(MODULEDIR)/rtaudio.a
  60. 3RD_LIBS += $(MODULEDIR)/rtmidi.a
  61. endif
  62. ALL_LIBS += $(3RD_LIBS)
  63. 3rd: $(3RD_LIBS)
  64. @$(MAKE) -C source/theme
  65. libs: $(ALL_LIBS)
  66. $(MODULEDIR)/carla_engine.a: .FORCE
  67. @$(MAKE) -C source/backend/engine
  68. $(MODULEDIR)/carla_engine_plugin.a: $(MODULEDIR)/carla_engine.a
  69. @$(MAKE) -C source/backend/engine
  70. $(MODULEDIR)/carla_plugin.a: .FORCE
  71. @$(MAKE) -C source/backend/plugin
  72. $(MODULEDIR)/jackbridge.a: .FORCE
  73. @$(MAKE) -C source/jackbridge
  74. $(MODULEDIR)/jackbridge.%.a: .FORCE
  75. @$(MAKE) -C source/jackbridge $*
  76. $(MODULEDIR)/native-plugins.a: .FORCE
  77. @$(MAKE) -C source/native-plugins
  78. $(MODULEDIR)/theme.qt4.a: .FORCE
  79. @$(MAKE) -C source/theme qt4
  80. $(MODULEDIR)/theme.qt5.a: .FORCE
  81. @$(MAKE) -C source/theme qt5
  82. $(MODULEDIR)/%.arm32.a: .FORCE
  83. ifneq ($(WIN32),true)
  84. @$(MAKE) -C source/modules/$* arm32
  85. else
  86. $(error Trying to build ARM binaries with a Windows toolchain, this cannot work)
  87. endif
  88. $(MODULEDIR)/%.posix32.a: .FORCE
  89. ifneq ($(WIN32),true)
  90. @$(MAKE) -C source/modules/$* posix32
  91. else
  92. $(error Trying to build POSIX binaries with a Windows toolchain, this cannot work)
  93. endif
  94. $(MODULEDIR)/%.posix64.a: .FORCE
  95. ifneq ($(WIN32),true)
  96. @$(MAKE) -C source/modules/$* posix64
  97. else
  98. $(error Trying to build POSIX binaries with a Windows toolchain, this cannot work)
  99. endif
  100. $(MODULEDIR)/%.win32.a: .FORCE
  101. ifeq ($(WIN32),true)
  102. @$(MAKE) -C source/modules/$* win32
  103. else
  104. $(error Trying to build Windows binaries with a regular toolchain, this cannot work)
  105. endif
  106. $(MODULEDIR)/%.win64.a: .FORCE
  107. ifeq ($(WIN32),true)
  108. @$(MAKE) -C source/modules/$* win64
  109. else
  110. $(error Trying to build Windows binaries with a regular toolchain, this cannot work)
  111. endif
  112. $(MODULEDIR)/dgl.wine.a: .FORCE
  113. @$(MAKE) -C source/modules/dgl wine
  114. $(MODULEDIR)/%.a: .FORCE
  115. @$(MAKE) -C source/modules/$*
  116. # ---------------------------------------------------------------------------------------------------------------------
  117. backend: libs
  118. @$(MAKE) -C source/backend
  119. bridges-plugin: libs
  120. @$(MAKE) -C source/bridges-plugin
  121. bridges-ui: libs
  122. @$(MAKE) -C source/bridges-ui
  123. discovery: libs
  124. @$(MAKE) -C source/discovery
  125. frontend:
  126. ifeq ($(HAVE_PYQT),true)
  127. @$(MAKE) -C source/frontend
  128. endif
  129. interposer:
  130. ifeq ($(LINUX),true)
  131. @$(MAKE) -C source/interposer
  132. endif
  133. libjack: libs
  134. @$(MAKE) -C source/libjack
  135. plugin: backend bridges-plugin bridges-ui discovery
  136. @$(MAKE) -C source/plugin
  137. ifeq ($(WIN32),true)
  138. plugin-wine:
  139. @$(MAKE) -C source/plugin wine
  140. else
  141. plugin-wine: $(MODULEDIR)/dgl.wine.a
  142. @$(MAKE) -C source/plugin wine
  143. endif
  144. rest: libs
  145. @$(MAKE) -C source/rest
  146. theme: libs
  147. @$(MAKE) -C source/theme
  148. # ---------------------------------------------------------------------------------------------------------------------
  149. # nuitka
  150. nuitka: bin/carla bin/carla-rack bin/carla-plugin
  151. bin/carla:
  152. python3 -m nuitka \
  153. -j 8 \
  154. --recurse-all \
  155. --python-flag -O --warn-unusual-code --warn-implicit-exceptions \
  156. --recurse-not-to=PyQt5 \
  157. --file-reference-choice=runtime \
  158. -o ./$@ \
  159. ./source/frontend/carla
  160. bin/carla-rack:
  161. python3 -m nuitka \
  162. -j 8 \
  163. --recurse-all \
  164. --python-flag -O --warn-unusual-code --warn-implicit-exceptions \
  165. --recurse-not-to=PyQt5 \
  166. --file-reference-choice=runtime \
  167. -o ./$@ \
  168. ./source/frontend/carla
  169. bin/carla-plugin:
  170. python3 -m nuitka \
  171. -j 8 \
  172. --recurse-all \
  173. --python-flag -O --warn-unusual-code --warn-implicit-exceptions \
  174. --recurse-not-to=PyQt5 \
  175. --file-reference-choice=runtime \
  176. -o ./$@ \
  177. ./source/native-plugins/resources/carla-plugin
  178. # ---------------------------------------------------------------------------------------------------------------------
  179. # Binaries (arm32)
  180. LIBS_ARM32 = $(MODULEDIR)/jackbridge.arm32.a
  181. LIBS_ARM32 += $(MODULEDIR)/lilv.arm32.a
  182. LIBS_ARM32 += $(MODULEDIR)/rtmempool.arm32.a
  183. LIBS_ARM32 += $(MODULEDIR)/water.arm32.a
  184. arm32: $(LIBS_ARM32)
  185. $(MAKE) -C source/bridges-plugin arm32
  186. $(MAKE) -C source/discovery arm32
  187. # ---------------------------------------------------------------------------------------------------------------------
  188. # Binaries (posix32)
  189. LIBS_POSIX32 = $(MODULEDIR)/jackbridge.posix32.a
  190. LIBS_POSIX32 += $(MODULEDIR)/lilv.posix32.a
  191. LIBS_POSIX32 += $(MODULEDIR)/rtmempool.posix32.a
  192. LIBS_POSIX32 += $(MODULEDIR)/water.posix32.a
  193. ifeq ($(USING_JUCE),true)
  194. LIBS_POSIX32 += $(MODULEDIR)/juce_audio_basics.posix32.a
  195. LIBS_POSIX32 += $(MODULEDIR)/juce_audio_processors.posix32.a
  196. LIBS_POSIX32 += $(MODULEDIR)/juce_data_structures.posix32.a
  197. LIBS_POSIX32 += $(MODULEDIR)/juce_core.posix32.a
  198. LIBS_POSIX32 += $(MODULEDIR)/juce_events.posix32.a
  199. ifeq ($(MACOS_OR_WIN32),true)
  200. LIBS_POSIX32 += $(MODULEDIR)/juce_graphics.posix32.a
  201. LIBS_POSIX32 += $(MODULEDIR)/juce_gui_basics.posix32.a
  202. endif
  203. endif
  204. posix32: $(LIBS_POSIX32)
  205. $(MAKE) -C source/bridges-plugin posix32
  206. $(MAKE) -C source/discovery posix32
  207. # ---------------------------------------------------------------------------------------------------------------------
  208. # Binaries (posix64)
  209. LIBS_POSIX64 = $(MODULEDIR)/jackbridge.posix64.a
  210. LIBS_POSIX64 += $(MODULEDIR)/lilv.posix64.a
  211. LIBS_POSIX64 += $(MODULEDIR)/rtmempool.posix64.a
  212. LIBS_POSIX64 += $(MODULEDIR)/water.posix64.a
  213. ifeq ($(USING_JUCE),true)
  214. LIBS_POSIX64 += $(MODULEDIR)/juce_audio_basics.posix64.a
  215. LIBS_POSIX64 += $(MODULEDIR)/juce_audio_processors.posix64.a
  216. LIBS_POSIX64 += $(MODULEDIR)/juce_data_structures.posix64.a
  217. LIBS_POSIX64 += $(MODULEDIR)/juce_core.posix64.a
  218. LIBS_POSIX64 += $(MODULEDIR)/juce_events.posix64.a
  219. ifeq ($(MACOS_OR_WIN32),true)
  220. LIBS_POSIX64 += $(MODULEDIR)/juce_graphics.posix64.a
  221. LIBS_POSIX64 += $(MODULEDIR)/juce_gui_basics.posix64.a
  222. endif
  223. endif
  224. posix64: $(LIBS_POSIX64)
  225. $(MAKE) -C source/bridges-plugin posix64
  226. $(MAKE) -C source/discovery posix64
  227. # ---------------------------------------------------------------------------------------------------------------------
  228. # Binaries (win32)
  229. ifeq ($(BUILDING_FOR_WINDOWS),true)
  230. LIBS_WIN32 = $(MODULEDIR)/jackbridge.win32.a
  231. else
  232. LIBS_WIN32 = $(MODULEDIR)/jackbridge.win32e.a
  233. endif
  234. LIBS_WIN32 += $(MODULEDIR)/lilv.win32.a
  235. LIBS_WIN32 += $(MODULEDIR)/rtmempool.win32.a
  236. LIBS_WIN32 += $(MODULEDIR)/water.win32.a
  237. ifeq ($(USING_JUCE),true)
  238. LIBS_WIN32 += $(MODULEDIR)/juce_audio_basics.win32.a
  239. LIBS_WIN32 += $(MODULEDIR)/juce_audio_processors.win32.a
  240. LIBS_WIN32 += $(MODULEDIR)/juce_data_structures.win32.a
  241. LIBS_WIN32 += $(MODULEDIR)/juce_core.win32.a
  242. LIBS_WIN32 += $(MODULEDIR)/juce_events.win32.a
  243. LIBS_WIN32 += $(MODULEDIR)/juce_graphics.win32.a
  244. LIBS_WIN32 += $(MODULEDIR)/juce_gui_basics.win32.a
  245. endif
  246. win32: $(LIBS_WIN32)
  247. $(MAKE) -C source/bridges-plugin win32
  248. $(MAKE) -C source/discovery win32
  249. # ---------------------------------------------------------------------------------------------------------------------
  250. # Binaries (win64)
  251. ifeq ($(BUILDING_FOR_WINDOWS),true)
  252. LIBS_WIN64 = $(MODULEDIR)/jackbridge.win64.a
  253. else
  254. LIBS_WIN64 = $(MODULEDIR)/jackbridge.win64e.a
  255. endif
  256. LIBS_WIN64 += $(MODULEDIR)/lilv.win64.a
  257. LIBS_WIN64 += $(MODULEDIR)/rtmempool.win64.a
  258. LIBS_WIN64 += $(MODULEDIR)/water.win64.a
  259. ifeq ($(USING_JUCE),true)
  260. LIBS_WIN64 += $(MODULEDIR)/juce_audio_basics.win64.a
  261. LIBS_WIN64 += $(MODULEDIR)/juce_audio_processors.win64.a
  262. LIBS_WIN64 += $(MODULEDIR)/juce_data_structures.win64.a
  263. LIBS_WIN64 += $(MODULEDIR)/juce_core.win64.a
  264. LIBS_WIN64 += $(MODULEDIR)/juce_events.win64.a
  265. LIBS_WIN64 += $(MODULEDIR)/juce_graphics.win64.a
  266. LIBS_WIN64 += $(MODULEDIR)/juce_gui_basics.win64.a
  267. endif
  268. win64: $(LIBS_WIN64)
  269. $(MAKE) -C source/bridges-plugin win64
  270. $(MAKE) -C source/discovery win64
  271. # ---------------------------------------------------------------------------------------------------------------------
  272. # Binaries (wine)
  273. wine32:
  274. $(MAKE) -C source/jackbridge wine32
  275. cp -f $(MODULEDIR)/jackbridge-wine32.dll.so $(CURDIR)/bin/jackbridge-wine32.dll
  276. wine64:
  277. $(MAKE) -C source/jackbridge wine64
  278. cp -f $(MODULEDIR)/jackbridge-wine64.dll.so $(CURDIR)/bin/jackbridge-wine64.dll
  279. # ---------------------------------------------------------------------------------------------------------------------
  280. clean:
  281. $(MAKE) clean -C source/backend
  282. $(MAKE) clean -C source/bridges-plugin
  283. $(MAKE) clean -C source/bridges-ui
  284. $(MAKE) clean -C source/discovery
  285. $(MAKE) clean -C source/frontend
  286. $(MAKE) clean -C source/interposer
  287. $(MAKE) clean -C source/libjack
  288. $(MAKE) clean -C source/modules
  289. $(MAKE) clean -C source/native-plugins
  290. $(MAKE) clean -C source/plugin
  291. $(MAKE) clean -C source/theme
  292. rm -f *~ source/*~
  293. distclean: clean
  294. rm -f bin/*.exe bin/*.dll bin/*.dylib bin/*.so
  295. rm -rf build build-lv2
  296. debug:
  297. $(MAKE) DEBUG=true
  298. doxygen:
  299. $(MAKE) doxygen -C source/backend
  300. stoat:
  301. stoat --recursive ./build/ --suppression ./data/stoat-supression.txt --whitelist ./data/stoat-whitelist.txt --graph-view ./data/stoat-callgraph.png
  302. # stoat --recursive ./build/ \
  303. # --suppression ./data/stoat-supression.txt \
  304. # --whitelist ./data/stoat-whitelist.txt \
  305. # --graph-view ./data/stoat-callgraph.png
  306. # ---------------------------------------------------------------------------------------------------------------------
  307. install_main:
  308. # Create directories
  309. install -d $(DESTDIR)$(BINDIR)
  310. ifeq ($(LINUX),true)
  311. install -d $(DESTDIR)$(LIBDIR)/carla/jack
  312. else
  313. install -d $(DESTDIR)$(LIBDIR)/carla
  314. endif
  315. install -d $(DESTDIR)$(LIBDIR)/pkgconfig
  316. install -d $(DESTDIR)$(INCLUDEDIR)/carla/includes
  317. ifeq ($(LINUX),true)
  318. ifeq ($(HAVE_JACK),true)
  319. install -d $(DESTDIR)$(JACK_LIBDIR)
  320. endif
  321. endif
  322. ifeq ($(HAVE_PYQT),true)
  323. # Create directories (gui)
  324. install -d $(DESTDIR)$(LIBDIR)/carla/styles
  325. install -d $(DESTDIR)$(DATADIR)/applications
  326. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  327. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  328. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  329. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  330. install -d $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  331. install -d $(DESTDIR)$(DATADIR)/mime/packages
  332. install -d $(DESTDIR)$(DATADIR)/carla/resources
  333. install -d $(DESTDIR)$(DATADIR)/carla/patchcanvas
  334. install -d $(DESTDIR)$(DATADIR)/carla/widgets
  335. endif
  336. # -------------------------------------------------------------------------------------------------------------
  337. # Install script files (non-gui)
  338. install -m 755 \
  339. data/carla-single \
  340. $(DESTDIR)$(BINDIR)
  341. # Adjust PREFIX value in script files (non-gui)
  342. sed $(SED_ARGS) 's?X-PREFIX-X?$(PREFIX)?' \
  343. $(DESTDIR)$(BINDIR)/carla-single
  344. # Install backend libs
  345. install -m 644 \
  346. bin/libcarla_*.* \
  347. $(DESTDIR)$(LIBDIR)/carla
  348. # Install other binaries
  349. install -m 755 \
  350. bin/*bridge-* \
  351. bin/carla-discovery-* \
  352. $(DESTDIR)$(LIBDIR)/carla
  353. ifeq ($(LINUX),true)
  354. ifeq ($(HAVE_JACK),true)
  355. # Install internal jack client
  356. ln -sf \
  357. $(LIBDIR)/carla/libcarla_standalone2.so \
  358. $(DESTDIR)$(JACK_LIBDIR)/carla.so
  359. endif
  360. ifneq ($(JACKBRIDGE_DIRECT),true)
  361. # Install custom libjack
  362. install -m 755 \
  363. bin/jack/libjack.so.0 \
  364. $(DESTDIR)$(LIBDIR)/carla/jack
  365. endif
  366. endif
  367. # Install pkg-config files
  368. install -m 644 \
  369. data/*.pc \
  370. $(DESTDIR)$(LIBDIR)/pkgconfig
  371. # Adjust PREFIX, LIBDIR and INCLUDEDIR in pkg-config files
  372. sed $(SED_ARGS) 's?X-PREFIX-X?$(PREFIX)?' \
  373. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-native-plugin.pc \
  374. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  375. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  376. sed $(SED_ARGS) 's?X-LIBDIR-X?$(LIBDIR)?' \
  377. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-native-plugin.pc \
  378. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  379. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  380. sed $(SED_ARGS) 's?X-INCLUDEDIR-X?$(INCLUDEDIR)?' \
  381. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-native-plugin.pc \
  382. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc \
  383. $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  384. # Install headers
  385. install -m 644 \
  386. source/backend/CarlaBackend.h \
  387. source/backend/CarlaHost.h \
  388. source/backend/CarlaUtils.h \
  389. source/backend/CarlaEngine.hpp \
  390. source/backend/CarlaPlugin.hpp \
  391. source/includes/CarlaNative.h \
  392. $(DESTDIR)$(INCLUDEDIR)/carla
  393. install -m 644 \
  394. source/includes/CarlaDefines.h \
  395. source/includes/CarlaMIDI.h \
  396. source/includes/CarlaNative.h \
  397. source/includes/CarlaNativePlugin.h \
  398. $(DESTDIR)$(INCLUDEDIR)/carla/includes
  399. # -------------------------------------------------------------------------------------------------------------
  400. ifeq ($(HAVE_PYQT),true)
  401. # Install script files (gui)
  402. install -m 755 \
  403. data/carla \
  404. data/carla-database \
  405. data/carla-jack-multi \
  406. data/carla-jack-single \
  407. data/carla-patchbay \
  408. data/carla-rack \
  409. data/carla-settings \
  410. $(DESTDIR)$(BINDIR)
  411. # Adjust PREFIX value in script files (gui)
  412. sed $(SED_ARGS) 's?X-PREFIX-X?$(PREFIX)?' \
  413. $(DESTDIR)$(BINDIR)/carla \
  414. $(DESTDIR)$(BINDIR)/carla-database \
  415. $(DESTDIR)$(BINDIR)/carla-jack-multi \
  416. $(DESTDIR)$(BINDIR)/carla-jack-single \
  417. $(DESTDIR)$(BINDIR)/carla-patchbay \
  418. $(DESTDIR)$(BINDIR)/carla-rack \
  419. $(DESTDIR)$(BINDIR)/carla-settings
  420. ifeq ($(HAVE_LIBLO),true)
  421. install -m 755 \
  422. data/carla-control \
  423. $(DESTDIR)$(BINDIR)
  424. sed $(SED_ARGS) 's?X-PREFIX-X?$(PREFIX)?' \
  425. $(DESTDIR)$(BINDIR)/carla-control
  426. endif
  427. # Install the real modgui bridge
  428. install -m 755 \
  429. data/carla-bridge-lv2-modgui \
  430. $(DESTDIR)$(LIBDIR)/carla
  431. sed $(SED_ARGS) 's?X-PREFIX-X?$(PREFIX)?' \
  432. $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  433. # Install frontend
  434. install -m 644 \
  435. source/frontend/carla \
  436. source/frontend/carla-control \
  437. source/frontend/carla-jack-multi \
  438. source/frontend/carla-jack-single \
  439. source/frontend/carla-patchbay \
  440. source/frontend/carla-rack \
  441. source/frontend/*.py \
  442. $(DESTDIR)$(DATADIR)/carla/
  443. install -m 644 \
  444. source/frontend/patchcanvas/*.py \
  445. $(DESTDIR)$(DATADIR)/carla/patchcanvas/
  446. install -m 644 \
  447. source/frontend/widgets/*.py \
  448. $(DESTDIR)$(DATADIR)/carla/widgets/
  449. # Adjust LIBDIR and DATADIR value in python code
  450. sed $(SED_ARGS) 's?X_LIBDIR_X = None?X_LIBDIR_X = "$(LIBDIR)"?' \
  451. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  452. sed $(SED_ARGS) 's?X_DATADIR_X = None?X_DATADIR_X = "$(DATADIR)"?' \
  453. $(DESTDIR)$(DATADIR)/carla/carla_shared.py
  454. # Install resources (gui)
  455. install -m 755 \
  456. bin/resources/carla-plugin \
  457. bin/resources/carla-plugin-patchbay \
  458. bin/resources/*-ui \
  459. $(DESTDIR)$(DATADIR)/carla/resources
  460. ifeq ($(HAVE_THEME),true)
  461. # Install theme
  462. install -m 644 \
  463. bin/styles/* \
  464. $(DESTDIR)$(LIBDIR)/carla/styles
  465. endif
  466. # Install desktop files
  467. install -m 644 data/carla.desktop $(DESTDIR)$(DATADIR)/applications
  468. ifeq ($(HAVE_LIBLO),true)
  469. install -m 644 data/carla-control.desktop $(DESTDIR)$(DATADIR)/applications
  470. endif
  471. # Install mime package
  472. install -m 644 data/carla.xml $(DESTDIR)$(DATADIR)/mime/packages
  473. # Install icons, 16x16
  474. install -m 644 resources/16x16/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  475. install -m 644 resources/16x16/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
  476. # Install icons, 48x48
  477. install -m 644 resources/48x48/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  478. install -m 644 resources/48x48/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
  479. # Install icons, 128x128
  480. install -m 644 resources/128x128/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  481. install -m 644 resources/128x128/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/128x128/apps
  482. # Install icons, 256x256
  483. install -m 644 resources/256x256/carla.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  484. install -m 644 resources/256x256/carla-control.png $(DESTDIR)$(DATADIR)/icons/hicolor/256x256/apps
  485. # Install icons, scalable
  486. install -m 644 resources/scalable/carla.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  487. install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps
  488. # Install resources (re-use python files)
  489. $(LINK) ../modgui $(DESTDIR)$(DATADIR)/carla/resources
  490. $(LINK) ../patchcanvas $(DESTDIR)$(DATADIR)/carla/resources
  491. $(LINK) ../widgets $(DESTDIR)$(DATADIR)/carla/resources
  492. $(LINK) ../carla_app.py $(DESTDIR)$(DATADIR)/carla/resources
  493. $(LINK) ../carla_backend.py $(DESTDIR)$(DATADIR)/carla/resources
  494. $(LINK) ../carla_backend_qt.py $(DESTDIR)$(DATADIR)/carla/resources
  495. $(LINK) ../carla_control.py $(DESTDIR)$(DATADIR)/carla/resources
  496. $(LINK) ../carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  497. $(LINK) ../carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  498. $(LINK) ../carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  499. $(LINK) ../carla_skin.py $(DESTDIR)$(DATADIR)/carla/resources
  500. $(LINK) ../carla_shared.py $(DESTDIR)$(DATADIR)/carla/resources
  501. $(LINK) ../carla_utils.py $(DESTDIR)$(DATADIR)/carla/resources
  502. $(LINK) ../carla_widgets.py $(DESTDIR)$(DATADIR)/carla/resources
  503. $(LINK) ../externalui.py $(DESTDIR)$(DATADIR)/carla/resources
  504. $(LINK) ../resources_rc.py $(DESTDIR)$(DATADIR)/carla/resources
  505. $(LINK) ../ui_carla_about.py $(DESTDIR)$(DATADIR)/carla/resources
  506. $(LINK) ../ui_carla_about_juce.py $(DESTDIR)$(DATADIR)/carla/resources
  507. $(LINK) ../ui_carla_add_jack.py $(DESTDIR)$(DATADIR)/carla/resources
  508. $(LINK) ../ui_carla_database.py $(DESTDIR)$(DATADIR)/carla/resources
  509. $(LINK) ../ui_carla_edit.py $(DESTDIR)$(DATADIR)/carla/resources
  510. $(LINK) ../ui_carla_host.py $(DESTDIR)$(DATADIR)/carla/resources
  511. $(LINK) ../ui_carla_parameter.py $(DESTDIR)$(DATADIR)/carla/resources
  512. $(LINK) ../ui_carla_plugin_calf.py $(DESTDIR)$(DATADIR)/carla/resources
  513. $(LINK) ../ui_carla_plugin_classic.py $(DESTDIR)$(DATADIR)/carla/resources
  514. $(LINK) ../ui_carla_plugin_compact.py $(DESTDIR)$(DATADIR)/carla/resources
  515. $(LINK) ../ui_carla_plugin_default.py $(DESTDIR)$(DATADIR)/carla/resources
  516. $(LINK) ../ui_carla_plugin_presets.py $(DESTDIR)$(DATADIR)/carla/resources
  517. $(LINK) ../ui_carla_refresh.py $(DESTDIR)$(DATADIR)/carla/resources
  518. $(LINK) ../ui_carla_settings.py $(DESTDIR)$(DATADIR)/carla/resources
  519. $(LINK) ../ui_carla_settings_driver.py $(DESTDIR)$(DATADIR)/carla/resources
  520. $(LINK) ../ui_inputdialog_value.py $(DESTDIR)$(DATADIR)/carla/resources
  521. $(LINK) ../ui_midipattern.py $(DESTDIR)$(DATADIR)/carla/resources
  522. endif # HAVE_PYQT
  523. # -------------------------------------------------------------------------------------------------------------
  524. # Install lv2 plugin
  525. install -d $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  526. install -m 644 \
  527. bin/carla.lv2/carla.* \
  528. bin/carla.lv2/*.ttl \
  529. $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  530. # Link binaries for lv2 plugin
  531. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  532. $(LINK) ../../carla/$$i $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/$$i; \
  533. done
  534. rm -f $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/libcarla_standalone2.*
  535. ifeq ($(LINUX),true)
  536. # Link jack app bridge
  537. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/jack
  538. $(LINK) ../../carla/jack $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/jack
  539. endif
  540. # Link resources for lv2 plugin
  541. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  542. $(LINK) ../../../share/carla/resources $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/resources
  543. ifeq ($(HAVE_PYQT),true)
  544. # Link styles for lv2 plugin
  545. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  546. $(LINK) ../../carla/styles $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/styles
  547. endif
  548. # -------------------------------------------------------------------------------------------------------------
  549. ifneq ($(HAIKU),true)
  550. ifeq ($(HAVE_PYQT),true)
  551. # Install vst plugin
  552. install -d $(DESTDIR)$(LIBDIR)/vst/carla.vst
  553. install -m 644 \
  554. bin/CarlaRack*.* \
  555. bin/CarlaPatchbay*.* \
  556. $(DESTDIR)$(LIBDIR)/vst/carla.vst
  557. # Link binaries for vst plugin
  558. @for i in `find $(DESTDIR)$(LIBDIR)/carla/ -maxdepth 1 -type f -exec basename {} ';'`; do \
  559. $(LINK) ../../carla/$$i $(DESTDIR)$(LIBDIR)/vst/carla.vst/$$i; \
  560. done
  561. rm -f $(DESTDIR)$(LIBDIR)/vst/carla.vst/libcarla_standalone2.*
  562. # Link jack app bridge
  563. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/jack
  564. $(LINK) ../../carla/jack $(DESTDIR)$(LIBDIR)/vst/carla.vst/jack
  565. # Link resources for vst plugin
  566. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  567. $(LINK) ../../../share/carla/resources $(DESTDIR)$(LIBDIR)/vst/carla.vst/resources
  568. # Link styles for vst plugin
  569. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  570. $(LINK) ../../carla/styles $(DESTDIR)$(LIBDIR)/vst/carla.vst/styles
  571. endif
  572. endif
  573. # -------------------------------------------------------------------------------------------------------------
  574. ifneq ($(HAVE_PYQT),true)
  575. # Remove gui files for non-gui build
  576. rm $(DESTDIR)$(LIBDIR)/carla/carla-bridge-lv2-modgui
  577. rm $(DESTDIR)$(LIBDIR)/lv2/carla.lv2/carla-bridge-lv2-modgui
  578. endif
  579. # ---------------------------------------------------------------------------------------------------------------------
  580. ifneq ($(EXTERNAL_PLUGINS),true)
  581. install_external_plugins:
  582. endif
  583. install: install_main install_external_plugins
  584. # ---------------------------------------------------------------------------------------------------------------------
  585. uninstall:
  586. rm -f $(DESTDIR)$(BINDIR)/carla*
  587. rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/carla-native-plugin.pc
  588. rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/carla-standalone.pc
  589. rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/carla-utils.pc
  590. rm -f $(DESTDIR)$(DATADIR)/applications/carla.desktop
  591. rm -f $(DESTDIR)$(DATADIR)/applications/carla-control.desktop
  592. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla.png
  593. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/carla-control.png
  594. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla.svg
  595. rm -f $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/carla-control.svg
  596. rm -f $(DESTDIR)$(DATADIR)/mime/packages/carla.xml
  597. rm -rf $(DESTDIR)$(LIBDIR)/carla
  598. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla.lv2
  599. rm -rf $(DESTDIR)$(LIBDIR)/lv2/carla-native.lv2
  600. rm -rf $(DESTDIR)$(LIBDIR)/vst/carla.vst
  601. rm -rf $(DESTDIR)$(DATADIR)/carla
  602. rm -rf $(DESTDIR)$(INCLUDEDIR)/carla
  603. # ----------------------------------------------------------------------------------------------------------------------------
  604. ifneq ($(MAKE_TERMOUT),)
  605. ANS_NO=\033[31mNO\033[0m
  606. ANS_YES=\033[32mYES\033[0m
  607. mS=\033[33m[
  608. mZ=\033[30;1m[
  609. mE=]\033[0m
  610. tS=\033[36m
  611. tE=\033[0m
  612. else
  613. ANS_NO=NO
  614. ANS_YES=YES
  615. mS=[
  616. mZ=[
  617. mE=]
  618. endif
  619. features_print_main:
  620. @printf -- "$(tS)---> Main features $(tE)\n"
  621. ifeq ($(HAVE_PYQT),true)
  622. @printf -- "Front-End: $(ANS_YES)\n"
  623. ifneq ($(WIN32),true)
  624. @printf -- "LV2 plugin: $(ANS_YES)\n"
  625. else
  626. @printf -- "LV2 plugin: $(ANS_NO) $(mZ)Not available for Windows$(mE)\n"
  627. endif
  628. ifeq ($(LINUX),true)
  629. ifeq ($(HAVE_X11),true)
  630. @printf -- "VST plugin: $(ANS_YES)\n"
  631. else # HAVE_X11
  632. @printf -- "VST plugin: $(ANS_NO) $(mS)X11 missing$(mE)\n"
  633. endif
  634. else # LINUX
  635. @printf -- "VST plugin: $(ANS_NO) $(mZ)Linux only$(mE)\n"
  636. endif
  637. else
  638. @printf -- "Front-End: $(ANS_NO) $(mS)Missing PyQt$(mE)\n"
  639. @printf -- "LV2 plugin: $(ANS_NO) $(mS)No front-end$(mE)\n"
  640. @printf -- "VST plugin: $(ANS_NO) $(mS)No front-end$(mE)\n"
  641. endif
  642. ifeq ($(HAVE_HYLIA),true)
  643. @printf -- "Link support: $(ANS_YES)\n"
  644. else
  645. ifeq ($(MACOS_OLD),true)
  646. @printf -- "Link support: $(ANS_NO) $(mZ)MacOS >= 10.10 only$(mE)\n"
  647. else
  648. @printf -- "Link support: $(ANS_NO) $(mZ)Linux, MacOS and Windows only$(mE)\n"
  649. endif
  650. endif
  651. ifeq ($(HAVE_LIBLO),true)
  652. @printf -- "OSC support: $(ANS_YES)\n"
  653. else
  654. @printf -- "OSC support: $(ANS_NO) $(mS)Missing liblo$(mE)\n"
  655. endif
  656. ifeq ($(WIN32),true)
  657. @printf -- "Binary detect: $(ANS_YES)\n"
  658. else
  659. ifeq ($(HAVE_LIBMAGIC),true)
  660. @printf -- "Binary detect: $(ANS_YES)\n"
  661. else
  662. @printf -- "Binary detect: $(ANS_NO) $(mS)Missing libmagic/file$(mE)\n"
  663. endif
  664. endif
  665. @printf -- "\n"
  666. @printf -- "$(tS)---> Engine drivers $(tE)\n"
  667. @printf -- "JACK: $(ANS_YES)\n"
  668. ifeq ($(LINUX),true)
  669. ifeq ($(HAVE_ALSA),true)
  670. @printf -- "ALSA: $(ANS_YES)\n"
  671. else
  672. @printf -- "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)\n"
  673. endif
  674. else
  675. @printf -- "ALSA: $(ANS_NO) $(mZ)Linux only$(mE)\n"
  676. endif
  677. ifeq ($(UNIX),true)
  678. ifneq ($(MACOS),true)
  679. ifeq ($(HAVE_PULSEAUDIO),true)
  680. @printf -- "PulseAudio: $(ANS_YES)\n"
  681. else
  682. @printf -- "PulseAudio: $(ANS_NO) $(mS)Missing PulseAudio$(mE)\n"
  683. endif
  684. else
  685. @printf -- "PulseAudio: $(ANS_NO) $(mZ)Not available for MacOS$(mE)\n"
  686. endif
  687. else
  688. @printf -- "PulseAudio: $(ANS_NO) $(mZ)Only available for Unix systems$(mE)\n"
  689. endif
  690. ifeq ($(MACOS),true)
  691. @printf -- "CoreAudio: $(ANS_YES)\n"
  692. else
  693. @printf -- "CoreAudio: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  694. endif
  695. ifeq ($(WIN32),true)
  696. @printf -- "ASIO: $(ANS_YES)\n"
  697. @printf -- "DirectSound: $(ANS_YES)\n"
  698. @printf -- "WASAPI: $(ANS_YES)\n"
  699. else
  700. @printf -- "ASIO: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  701. @printf -- "DirectSound: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  702. @printf -- "WASAPI: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  703. endif
  704. @printf -- "\n"
  705. @printf -- "$(tS)---> Plugin formats: $(tE)\n"
  706. @printf -- "Internal: $(ANS_YES)\n"
  707. @printf -- "LADSPA: $(ANS_YES)\n"
  708. @printf -- "DSSI: $(ANS_YES)\n"
  709. @printf -- "LV2: $(ANS_YES)\n"
  710. ifeq ($(MACOS_OR_WIN32),true)
  711. @printf -- "VST: $(ANS_YES) (with UI)\n"
  712. else
  713. ifeq ($(HAIKU),true)
  714. @printf -- "VST: $(ANS_YES) (without UI)\n"
  715. else
  716. ifeq ($(HAVE_X11),true)
  717. @printf -- "VST: $(ANS_YES) (with UI)\n"
  718. else
  719. @printf -- "VST: $(ANS_YES) (without UI) $(mS)Missing X11$(mE)\n"
  720. endif
  721. endif
  722. endif
  723. @printf -- "\n"
  724. @printf -- "$(tS)---> LV2 UI toolkit support: $(tE)\n"
  725. @printf -- "External: $(ANS_YES) (direct)\n"
  726. ifneq ($(MACOS_OR_WIN32),true)
  727. ifeq ($(HAVE_GTK2),true)
  728. @printf -- "Gtk2: $(ANS_YES) (bridge)\n"
  729. else
  730. @printf -- "Gtk2: $(ANS_NO) $(mS)Gtk2 missing$(mE)\n"
  731. endif
  732. ifeq ($(HAVE_GTK3),true)
  733. @printf -- "Gtk3: $(ANS_YES) (bridge)\n"
  734. else
  735. @printf -- "Gtk3: $(ANS_NO) $(mS)Gtk3 missing$(mE)\n"
  736. endif
  737. ifeq ($(HAVE_QT4),true)
  738. @printf -- "Qt4: $(ANS_YES) (bridge)\n"
  739. else
  740. @printf -- "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)\n"
  741. endif
  742. ifeq ($(HAVE_QT5),true)
  743. @printf -- "Qt5: $(ANS_YES) (bridge)\n"
  744. else
  745. @printf -- "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)\n"
  746. endif
  747. ifeq ($(HAVE_X11),true)
  748. @printf -- "X11: $(ANS_YES) (direct+bridge)\n"
  749. else
  750. @printf -- "X11: $(ANS_NO) $(mS)X11 missing$(mE)\n"
  751. endif
  752. else # LINUX
  753. @printf -- "Gtk2: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  754. @printf -- "Gtk3: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  755. @printf -- "Qt4: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  756. @printf -- "Qt5: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  757. @printf -- "X11: $(ANS_NO) $(mZ)Not available for Windows or MacOS$(mE)\n"
  758. endif # LINUX
  759. ifeq ($(MACOS),true)
  760. @printf -- "Cocoa: $(ANS_YES) (direct+bridge)\n"
  761. else
  762. @printf -- "Cocoa: $(ANS_NO) $(mZ)MacOS only$(mE)\n"
  763. endif
  764. ifeq ($(WIN32),true)
  765. @printf -- "Windows: $(ANS_YES) (direct+bridge)\n"
  766. else
  767. @printf -- "Windows: $(ANS_NO) $(mZ)Windows only$(mE)\n"
  768. endif
  769. @printf -- "\n"
  770. @printf -- "$(tS)---> File formats: $(tE)\n"
  771. ifeq ($(HAVE_SNDFILE),true)
  772. @printf -- "Basic: $(ANS_YES)\n"
  773. else
  774. @printf -- "Basic: $(ANS_NO) $(mS)libsndfile missing$(mE)\n"
  775. endif
  776. ifeq ($(HAVE_FFMPEG),true)
  777. @printf -- "Extra: $(ANS_YES)\n"
  778. else
  779. @printf -- "Extra: $(ANS_NO) $(mS)FFmpeg missing or too new$(mE)\n"
  780. endif
  781. ifeq ($(HAVE_FLUIDSYNTH),true)
  782. @printf -- "SF2/3: $(ANS_YES)\n"
  783. else
  784. @printf -- "SF2/3: $(ANS_NO) $(mS)FluidSynth missing or too old$(mE)\n"
  785. endif
  786. @printf -- "SFZ: $(ANS_YES)\n"
  787. @printf -- "\n"
  788. @printf -- "$(tS)---> Internal plugins: $(tE)\n"
  789. @printf -- "Basic Plugins: $(ANS_YES)\n"
  790. ifneq ($(WIN32),true)
  791. @printf -- "Carla-Patchbay: $(ANS_YES)\n"
  792. @printf -- "Carla-Rack: $(ANS_YES)\n"
  793. else
  794. @printf -- "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)\n"
  795. @printf -- "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)\n"
  796. endif
  797. ifeq ($(EXTERNAL_PLUGINS),true)
  798. @printf -- "External Plugins: $(ANS_YES)\n"
  799. else
  800. @printf -- "External Plugins: $(ANS_NO)\n"
  801. endif
  802. ifneq ($(EXTERNAL_PLUGINS),true)
  803. features_print_external_plugins:
  804. endif
  805. features: features_print_main features_print_external_plugins
  806. # ---------------------------------------------------------------------------------------------------------------------
  807. .FORCE:
  808. .PHONY: .FORCE
  809. # ---------------------------------------------------------------------------------------------------------------------