gtk+ irc client somewhat based on x-chat [presently unmaintained]

buildsys.mk.in 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518
  1. #
  2. # Copyright (c) 2007 - 2009, Jonathan Schleifer <js@webkeks.org>
  3. #
  4. # https://webkeks.org/hg/buildsys/
  5. #
  6. # Permission to use, copy, modify, and/or distribute this software for any
  7. # purpose with or without fee is hereby granted, provided that the above
  8. # copyright notice and this permission notice is present in all copies.
  9. #
  10. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  11. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13. # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  14. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  15. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  16. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  17. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  18. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  19. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  20. # POSSIBILITY OF SUCH DAMAGE.
  21. #
  22. PACKAGE = @PACKAGE@
  23. AS = @AS@
  24. CC = @CC@
  25. CXX = @CXX@
  26. CPP = @CPP@
  27. DC = @DC@
  28. ERLC = @ERLC@
  29. OBJC = @OBJC@
  30. OBJCXX = @OBJCXX@
  31. AR = @AR@
  32. LD = ${CC}
  33. RANLIB = @RANLIB@
  34. PYTHON = @PYTHON@
  35. ASFLAGS = @ASFLAGS@
  36. CFLAGS = @CFLAGS@
  37. CXXFLAGS = @CXXFLAGS@
  38. CPPFLAGS = @CPPFLAGS@
  39. DFLAGS = @DFLAGS@
  40. ERLCFLAGS = @ERLCFLAGS@
  41. OBJCFLAGS = @OBJCFLAGS@
  42. OBJCXXFLAGS = @OBJCXXFLAGS@
  43. LDFLAGS = @LDFLAGS@
  44. LDFLAGS_RPATH = @LDFLAGS_RPATH@
  45. LIBS = @LIBS@
  46. PYTHON_FLAGS = @PYTHON_FLAGS@
  47. PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
  48. PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
  49. PROG_SUFFIX = @EXEEXT@
  50. LIB_CPPFLAGS = @LIB_CPPFLAGS@
  51. LIB_CFLAGS = @LIB_CFLAGS@
  52. LIB_LDFLAGS = @LIB_LDFLAGS@
  53. LIB_PREFIX = @LIB_PREFIX@
  54. LIB_SUFFIX = @LIB_SUFFIX@
  55. PLUGIN_CPPFLAGS = @PLUGIN_CPPFLAGS@
  56. PLUGIN_CFLAGS = @PLUGIN_CFLAGS@
  57. PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@
  58. PLUGIN_SUFFIX = @PLUGIN_SUFFIX@
  59. INSTALL_LIB = @INSTALL_LIB@
  60. UNINSTALL_LIB = @UNINSTALL_LIB@
  61. CLEAN_LIB = @CLEAN_LIB@
  62. LN_S = @LN_S@
  63. MKDIR_P = mkdir -p
  64. INSTALL = @INSTALL@
  65. SHELL = @SHELL@
  66. MSGFMT = @MSGFMT@
  67. prefix = @prefix@
  68. exec_prefix = @exec_prefix@
  69. bindir = @bindir@
  70. libdir = @libdir@
  71. plugindir ?= ${libdir}/${PACKAGE}
  72. datarootdir = @datarootdir@
  73. datadir = @datadir@
  74. includedir = @includedir@
  75. includesubdir ?= ${PACKAGE}
  76. localedir = @localedir@
  77. localename ?= ${PACKAGE}
  78. mandir = @mandir@
  79. mansubdir ?= man1
  80. OBJS1 = ${SRCS:.c=.o}
  81. OBJS2 = ${OBJS1:.cc=.o}
  82. OBJS3 = ${OBJS2:.cxx=.o}
  83. OBJS4 = ${OBJS3:.d=.o}
  84. OBJS5 = ${OBJS4:.erl=.beam}
  85. OBJS6 = ${OBJS5:.m=.o}
  86. OBJS7 = ${OBJS6:.mm=.o}
  87. OBJS8 = ${OBJS7:.py=.pyc}
  88. OBJS9 = ${OBJS8:.xpm=.o}
  89. OBJS += ${OBJS9:.S=.o}
  90. MO_FILES = ${LOCALES:.po=.mo}
  91. .SILENT:
  92. .SUFFIXES:
  93. .SUFFIXES: .beam .c .cc .cxx .d .dep .erl .mo .m .mm .o .po .py .pyc .xpm .S
  94. .PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean
  95. all:
  96. for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} locales; do \
  97. ${MAKE} ${MFLAGS} $$i || exit 1; \
  98. done
  99. subdirs:
  100. for i in ${SUBDIRS}; do \
  101. ${DIR_ENTER}; \
  102. ${MAKE} ${MFLAGS} || exit 1; \
  103. ${DIR_LEAVE}; \
  104. done
  105. depend: pre-depend ${SRCS}
  106. regen=0; \
  107. deps=""; \
  108. test -f .deps || regen=1; \
  109. for i in ${SRCS}; do \
  110. case $$i in \
  111. *.c) \
  112. test $$i -nt .deps && regen=1; \
  113. deps="$$deps $${i%.c}.dep"; \
  114. ;; \
  115. *.cc) \
  116. test $$i -nt .deps && regen=1; \
  117. deps="$$deps $${i%.cc}.dep"; \
  118. ;; \
  119. *.cxx) \
  120. test $$i -nt .deps && regen=1; \
  121. deps="$$deps $${i%.cxx}.dep"; \
  122. ;; \
  123. *.m) \
  124. test $$i -nt .deps && regen=1; \
  125. deps="$$deps $${i%.m}.dep"; \
  126. ;; \
  127. *.mm) \
  128. test $$i -nt .deps && regen=1; \
  129. deps="$$deps $${i%.mm}.dep"; \
  130. ;; \
  131. *.S) \
  132. test $$i -nt .deps && regen=1; \
  133. deps="$$deps $${i%.S}.dep"; \
  134. ;; \
  135. esac; \
  136. done; \
  137. if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \
  138. ${DEPEND_STATUS}; \
  139. if ${MAKE} ${MFLAGS} $$deps && cat $$deps >.deps; then \
  140. rm -f $$deps; \
  141. ${DEPEND_OK}; \
  142. else \
  143. :> .deps; \
  144. touch -t 0001010000 .deps; \
  145. ${DEPEND_FAILED}; \
  146. fi; \
  147. fi
  148. .c.dep .cc.dep .cxx.dep .m.dep .mm.dep .S.dep:
  149. ${CPP} ${CPPFLAGS} -M $< >$@ || (rm -f $@; exit 1)
  150. .d.dep:
  151. .xpm.dep:
  152. pre-depend:
  153. ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS}
  154. ${LINK_STATUS}
  155. if ${LD} -o $@ ${OBJS} ${LDFLAGS} ${LIBS}; then \
  156. ${LINK_OK}; \
  157. else \
  158. ${LINK_FAILED}; \
  159. fi
  160. ${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS}
  161. case $@ in \
  162. *.a) \
  163. ${MAKE} ${MFLAGS} STATIC_LIB=${LIB} LIB= $@ || exit 1 \
  164. ;; \
  165. *) \
  166. ${LINK_STATUS}; \
  167. if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
  168. ${LINK_OK}; \
  169. else \
  170. ${LINK_FAILED}; \
  171. fi \
  172. ;; \
  173. esac
  174. ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${OBJS}
  175. ${LINK_STATUS}
  176. if ${LD} -o $@ ${OBJS} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
  177. ${LINK_OK}; \
  178. else \
  179. ${LINK_FAILED}; \
  180. fi
  181. ${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS}
  182. ${LINK_STATUS}
  183. if ${AR} cr $@ ${OBJS} && ${RANLIB} $@; then \
  184. ${LINK_OK}; \
  185. else \
  186. ${LINK_FAILED}; \
  187. rm -f $@; \
  188. fi
  189. locales: ${MO_FILES}
  190. .c.o:
  191. ${COMPILE_STATUS}
  192. if ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
  193. ${COMPILE_OK}; \
  194. else \
  195. ${COMPILE_FAILED}; \
  196. fi
  197. .cc.o .cxx.o:
  198. ${COMPILE_STATUS}
  199. if ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
  200. ${COMPILE_OK}; \
  201. else \
  202. ${COMPILE_FAILED}; \
  203. fi
  204. .d.o:
  205. ${COMPILE_STATUS}
  206. if test x"$(basename ${DC})" = x"dmd"; then \
  207. if ${DC} ${DFLAGS} -c -of$@ $<; then \
  208. ${COMPILE_OK}; \
  209. else \
  210. ${COMPILE_FAILED}; \
  211. fi \
  212. else \
  213. if ${DC} ${DFLAGS} -c -o $@ $<; then \
  214. ${COMPILE_OK}; \
  215. else \
  216. ${COMPILE_FAILED}; \
  217. fi \
  218. fi
  219. .erl.beam:
  220. ${COMPILE_STATUS}
  221. if ${ERLC} ${ERLCFLAGS} -o $@ $<; then \
  222. ${COMPILE_OK}; \
  223. else \
  224. ${COMPILE_FAILED}; \
  225. fi
  226. .m.o:
  227. ${COMPILE_STATUS}
  228. if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
  229. ${COMPILE_OK}; \
  230. else \
  231. ${COMPILE_FAILED}; \
  232. fi
  233. .mm.o:
  234. ${COMPILE_STATUS}
  235. if ${OBJCXX} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
  236. ${COMPILE_OK}; \
  237. else \
  238. ${COMPILE_FAILED}; \
  239. fi
  240. .po.mo:
  241. ${COMPILE_STATUS}
  242. if ${MSGFMT} -c -o $@ $<; then \
  243. ${COMPILE_OK}; \
  244. else \
  245. ${COMPILE_FAILED}; \
  246. fi
  247. .py.pyc:
  248. ${COMPILE_STATUS}
  249. if ${PYTHON} ${PYTHON_FLAGS} -c "import py_compile; py_compile.compile('$<')"; then \
  250. ${COMPILE_OK}; \
  251. else \
  252. ${COMPILE_FAILED}; \
  253. fi
  254. .xpm.o:
  255. ${COMPILE_STATUS}
  256. if ${CC} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
  257. ${COMPILE_OK}; \
  258. else \
  259. ${COMPILE_FAILED}; \
  260. fi
  261. .S.o:
  262. ${COMPILE_STATUS}
  263. if ${AS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
  264. ${COMPILE_OK}; \
  265. else \
  266. ${COMPILE_FAILED}; \
  267. fi
  268. install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra
  269. for i in ${SUBDIRS}; do \
  270. ${DIR_ENTER}; \
  271. ${MAKE} ${MFLAGS} install || exit 1; \
  272. ${DIR_LEAVE}; \
  273. done
  274. for i in ${LIB}; do \
  275. ${INSTALL_STATUS}; \
  276. if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \
  277. ${INSTALL_OK}; \
  278. else \
  279. ${INSTALL_FAILED}; \
  280. fi \
  281. done
  282. for i in ${STATIC_LIB}; do \
  283. ${INSTALL_STATUS}; \
  284. if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i; then \
  285. ${INSTALL_OK}; \
  286. else \
  287. ${INSTALL_FAILED}; \
  288. fi \
  289. done
  290. for i in ${PLUGIN}; do \
  291. ${INSTALL_STATUS}; \
  292. if ${MKDIR_P} ${DESTDIR}${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i; then \
  293. ${INSTALL_OK}; \
  294. else \
  295. ${INSTALL_FAILED}; \
  296. fi \
  297. done
  298. for i in ${DATA}; do \
  299. ${INSTALL_STATUS}; \
  300. if ${MKDIR_P} $$(dirname ${DESTDIR}${datadir}/${PACKAGE}/$$i) && ${INSTALL} -m 644 $$i ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
  301. ${INSTALL_OK}; \
  302. else \
  303. ${INSTALL_FAILED}; \
  304. fi \
  305. done
  306. for i in ${PROG}; do \
  307. ${INSTALL_STATUS}; \
  308. if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \
  309. ${INSTALL_OK}; \
  310. else \
  311. ${INSTALL_FAILED}; \
  312. fi \
  313. done
  314. for i in ${INCLUDES}; do \
  315. ${INSTALL_STATUS}; \
  316. if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
  317. ${INSTALL_OK}; \
  318. else \
  319. ${INSTALL_FAILED}; \
  320. fi \
  321. done
  322. for i in ${MO_FILES}; do \
  323. ${INSTALL_STATUS}; \
  324. if ${MKDIR_P} ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES && ${INSTALL} -m 644 $$i ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES/${localename}.mo; then \
  325. ${INSTALL_OK}; \
  326. else \
  327. ${INSTALL_FAILED}; \
  328. fi \
  329. done
  330. for i in ${MAN}; do \
  331. ${INSTALL_STATUS}; \
  332. if ${MKDIR_P} ${DESTDIR}${mandir}/${mansubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
  333. ${INSTALL_OK}; \
  334. else \
  335. ${INSTALL_FAILED}; \
  336. fi \
  337. done
  338. install-extra:
  339. uninstall: uninstall-extra
  340. for i in ${SUBDIRS}; do \
  341. ${DIR_ENTER}; \
  342. ${MAKE} ${MFLAGS} uninstall || exit 1; \
  343. ${DIR_LEAVE}; \
  344. done
  345. for i in ${LIB}; do \
  346. if test -f ${DESTDIR}${libdir}/$$i; then \
  347. if ${UNINSTALL_LIB}; then \
  348. ${DELETE_OK}; \
  349. else \
  350. ${DELETE_FAILED}; \
  351. fi \
  352. fi; \
  353. done
  354. for i in ${STATIC_LIB}; do \
  355. if test -f ${DESTDIR}${libdir}/$$i; then \
  356. if rm -f ${DESTDIR}${libdir}/$$i; then \
  357. ${DELETE_OK}; \
  358. else \
  359. ${DELETE_FAILED}; \
  360. fi \
  361. fi \
  362. done
  363. for i in ${PLUGIN}; do \
  364. if test -f ${DESTDIR}${plugindir}/$$i; then \
  365. if rm -f ${DESTDIR}${plugindir}/$$i; then \
  366. ${DELETE_OK}; \
  367. else \
  368. ${DELETE_FAILED}; \
  369. fi \
  370. fi \
  371. done
  372. -rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1
  373. for i in ${DATA}; do \
  374. if test -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
  375. if rm -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
  376. ${DELETE_OK}; \
  377. else \
  378. ${DELETE_FAILED}; \
  379. fi \
  380. fi \
  381. done
  382. for i in ${PROG}; do \
  383. if test -f ${DESTDIR}${bindir}/$$i; then \
  384. if rm -f ${DESTDIR}${bindir}/$$i; then \
  385. ${DELETE_OK}; \
  386. else \
  387. ${DELETE_FAILED}; \
  388. fi \
  389. fi \
  390. done
  391. for i in ${INCLUDES}; do \
  392. if test -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
  393. if rm -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
  394. ${DELETE_OK}; \
  395. else \
  396. ${DELETE_FAILED}; \
  397. fi \
  398. fi \
  399. done
  400. -rmdir ${DESTDIR}${includedir}/${includesubdir} >/dev/null 2>&1
  401. for i in ${MO_FILES}; do \
  402. if test -f ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES/${localename}.mo; then \
  403. if rm -f ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES/${localename}.mo; then \
  404. ${DELETE_OK}; \
  405. else \
  406. ${DELETE_FAILED}; \
  407. fi \
  408. fi \
  409. done
  410. for i in ${MAN}; do \
  411. if test -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
  412. if rm -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
  413. ${DELETE_OK}; \
  414. else \
  415. ${DELETE_FAILED}; \
  416. fi \
  417. fi \
  418. done
  419. uninstall-extra:
  420. clean:
  421. for i in ${SUBDIRS}; do \
  422. ${DIR_ENTER}; \
  423. ${MAKE} ${MFLAGS} clean || exit 1; \
  424. ${DIR_LEAVE}; \
  425. done
  426. for i in ${DEPS} ${OBJS} ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
  427. if test -f $$i -o -d $$i; then \
  428. if rm -fr $$i; then \
  429. ${DELETE_OK}; \
  430. else \
  431. ${DELETE_FAILED}; \
  432. fi \
  433. fi \
  434. done
  435. distclean: clean
  436. for i in ${SUBDIRS}; do \
  437. ${DIR_ENTER}; \
  438. ${MAKE} ${MFLAGS} distclean || exit 1; \
  439. ${DIR_LEAVE}; \
  440. done
  441. for i in ${DISTCLEAN} .deps *~; do \
  442. if test -f $$i -o -d $$i; then \
  443. if rm -fr $$i; then \
  444. ${DELETE_OK}; \
  445. else \
  446. ${DELETE_FAILED}; \
  447. fi \
  448. fi \
  449. done
  450. DIR_ENTER = printf "\033[K\033[0;36mEntering directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd $$i || exit 1
  451. DIR_LEAVE = printf "\033[K\033[0;36mLeaving directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd .. || exit 1
  452. DEPEND_STATUS = printf "\033[K\033[0;33mGenerating dependencies...\033[0m\r"
  453. DEPEND_OK = printf "\033[K\033[0;32mSuccessfully generated dependencies.\033[0m\n"
  454. DEPEND_FAILED = printf "\033[K\033[0;31mFailed to generate dependencies!\033[0m\n"; exit 1
  455. COMPILE_STATUS = printf "\033[K\033[0;33mCompiling \033[1;33m$<\033[0;33m...\033[0m\r"
  456. COMPILE_OK = printf "\033[K\033[0;32mSuccessfully compiled \033[1;32m$<\033[0;32m.\033[0m\n"
  457. COMPILE_FAILED = printf "\033[K\033[0;31mFailed to compile \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1
  458. LINK_STATUS = printf "\033[K\033[0;33mLinking \033[1;33m$@\033[0;33m...\033[0m\r"
  459. LINK_OK = printf "\033[K\033[0;32mSuccessfully linked \033[1;32m$@\033[0;32m.\033[0m\n"
  460. LINK_FAILED = printf "\033[K\033[0;31mFailed to link \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1
  461. INSTALL_STATUS = printf "\033[K\033[0;33mInstalling \033[1;33m$$i\033[0;33m...\033[0m\r"
  462. INSTALL_OK = printf "\033[K\033[0;32mSuccessfully installed \033[1;32m$$i\033[0;32m.\033[0m\n"
  463. INSTALL_FAILED = printf "\033[K\033[0;31mFailed to install \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
  464. DELETE_OK = printf "\033[K\033[0;34mDeleted \033[1;34m$$i\033[0;34m.\033[0m\n"
  465. DELETE_FAILED = printf "\033[K\033[0;31mFailed to delete \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
  466. include .deps