diff options
| author | Fred Sundvik <fsundvik@gmail.com> | 2016-08-16 08:42:08 +0300 |
|---|---|---|
| committer | Fred Sundvik <fsundvik@gmail.com> | 2016-08-20 03:56:43 +0300 |
| commit | 03e31ef8b9752220d092a1950030cf7942e002eb (patch) | |
| tree | add6ed9124ac87d9f575566233e28842fac3cbc0 | |
| parent | 3442e216dcec3ce6c8ba1c755b0d647a7f384f01 (diff) | |
| download | qmk_firmware-03e31ef8b9752220d092a1950030cf7942e002eb.tar.gz qmk_firmware-03e31ef8b9752220d092a1950030cf7942e002eb.zip | |
Continue on error
| -rw-r--r-- | Makefile | 6 | ||||
| -rw-r--r-- | message.mk | 7 |
2 files changed, 10 insertions, 3 deletions
| @@ -12,6 +12,8 @@ endif | |||
| 12 | 12 | ||
| 13 | override SILENT = false | 13 | override SILENT = false |
| 14 | 14 | ||
| 15 | ON_ERROR := error_occured=1 | ||
| 16 | |||
| 15 | STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST)) | 17 | STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST)) |
| 16 | ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST)) | 18 | ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST)) |
| 17 | ROOT_DIR := $(dir $(ROOT_MAKEFILE)) | 19 | ROOT_DIR := $(dir $(ROOT_MAKEFILE)) |
| @@ -302,7 +304,9 @@ $(SUBPROJECTS): %: %-allkm | |||
| 302 | done | 304 | done |
| 303 | $(eval $(call PARSE_RULE,$@)) | 305 | $(eval $(call PARSE_RULE,$@)) |
| 304 | $(eval $(call SET_SILENT_MODE)) | 306 | $(eval $(call SET_SILENT_MODE)) |
| 305 | +$(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) | 307 | +error_occured=0; \ |
| 308 | $(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) \ | ||
| 309 | if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi | ||
| 306 | 310 | ||
| 307 | 311 | ||
| 308 | .PHONY: all | 312 | .PHONY: all |
diff --git a/message.mk b/message.mk index 6abc78215..f8fd38712 100644 --- a/message.mk +++ b/message.mk | |||
| @@ -15,6 +15,8 @@ else | |||
| 15 | AWK=cat && test | 15 | AWK=cat && test |
| 16 | endif | 16 | endif |
| 17 | 17 | ||
| 18 | ON_ERROR ?= exit 1 | ||
| 19 | |||
| 18 | OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n | 20 | OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n |
| 19 | ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n | 21 | ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n |
| 20 | WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n | 22 | WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n |
| @@ -23,9 +25,9 @@ TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }' | |||
| 23 | TAB_LOG_PLAIN = printf "$$LOG\n" | 25 | TAB_LOG_PLAIN = printf "$$LOG\n" |
| 24 | AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }' | 26 | AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }' |
| 25 | AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }' | 27 | AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }' |
| 26 | PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && exit 1 | 28 | PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && $(ON_ERROR) |
| 27 | PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) | 29 | PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) |
| 28 | PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && exit 1 | 30 | PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && $(ON_ERROR) |
| 29 | PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) | 31 | PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) |
| 30 | PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS) | 32 | PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS) |
| 31 | BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi; | 33 | BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi; |
| @@ -34,6 +36,7 @@ MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, pleas | |||
| 34 | # Define Messages | 36 | # Define Messages |
| 35 | # English | 37 | # English |
| 36 | MSG_ERRORS_NONE = Errors: none | 38 | MSG_ERRORS_NONE = Errors: none |
| 39 | MSG_ERRORS = $(ERROR_COLOR)Make finished with errors\n$(NO_COLOR) | ||
| 37 | MSG_BEGIN = -------- begin -------- | 40 | MSG_BEGIN = -------- begin -------- |
| 38 | MSG_END = -------- end -------- | 41 | MSG_END = -------- end -------- |
| 39 | MSG_SIZE_BEFORE = Size before: | 42 | MSG_SIZE_BEFORE = Size before: |
