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