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 | firmware-03e31ef8b9752220d092a1950030cf7942e002eb.tar.gz firmware-03e31ef8b9752220d092a1950030cf7942e002eb.tar.bz2 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  override SILENT = false +ON_ERROR := error_occured=1 +  STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))  ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))  ROOT_DIR := $(dir $(ROOT_MAKEFILE)) @@ -302,7 +304,9 @@ $(SUBPROJECTS): %: %-allkm  	done  	$(eval $(call PARSE_RULE,$@))  	$(eval $(call SET_SILENT_MODE)) -	+$(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) +	+error_occured=0; \ +	$(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) \ +	if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi  .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  	AWK=cat && test  endif +ON_ERROR ?= exit 1 +  OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n  ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n  WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n @@ -23,9 +25,9 @@ TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }'  TAB_LOG_PLAIN = printf "$$LOG\n"  AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }'  AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }' -PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && exit 1 +PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && $(ON_ERROR)  PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) -PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && exit 1 +PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && $(ON_ERROR)  PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN)  PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS)  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  # Define Messages  # English  MSG_ERRORS_NONE = Errors: none +MSG_ERRORS = $(ERROR_COLOR)Make finished with errors\n$(NO_COLOR)  MSG_BEGIN = -------- begin --------  MSG_END = --------  end  --------  MSG_SIZE_BEFORE = Size before: | 
