]> git.donarmstrong.com Git - qmk_firmware.git/blob - message.mk
Add color output
[qmk_firmware.git] / message.mk
1 COLOR ?= true
2
3 ifeq ($(COLOR),true)
4         NO_COLOR=\033[0m
5         OK_COLOR=\033[32;01m
6         ERROR_COLOR=\033[31;01m
7         WARN_COLOR=\033[33;01m
8         BLUE=\033[0;34m
9         BOLD=\033[1m
10 endif
11
12 ifneq ($(shell awk --version 2>/dev/null),)
13         AWK=awk
14 else
15         AWK=cat && test
16 endif
17
18 OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n
19 ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n
20 WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n
21
22 ifndef $(SILENT)
23         SILENT = false
24 endif
25
26 TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }'
27 TAB_LOG_PLAIN = printf "$$LOG\n"
28 AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }'
29 AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }'
30 PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && exit 1
31 PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG)
32 PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && exit 1
33 PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN)
34 PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS)
35 BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi;