diff options
author | Fred Sundvik <fsundvik@gmail.com> | 2017-04-09 20:04:12 +0300 |
---|---|---|
committer | Fred Sundvik <fsundvik@gmail.com> | 2017-04-13 16:00:29 +0300 |
commit | 224fc8a20fc78927ed90326ca6c07370d33d00d5 (patch) | |
tree | ab27510594a95cd4f1a71e92c8a6fbf80fed2cd5 /Makefile | |
parent | d3301c0f8b0005738ab9aa2030d83739ffb5c4b6 (diff) | |
download | qmk_firmware-224fc8a20fc78927ed90326ca6c07370d33d00d5.tar.gz qmk_firmware-224fc8a20fc78927ed90326ca6c07370d33d00d5.zip |
Add makefile option to break on errors
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -21,6 +21,8 @@ override SILENT := false | |||
21 | 21 | ||
22 | ON_ERROR := error_occurred=1 | 22 | ON_ERROR := error_occurred=1 |
23 | 23 | ||
24 | BREAK_ON_ERRORS = no | ||
25 | |||
24 | STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST)) | 26 | STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST)) |
25 | ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST)) | 27 | ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST)) |
26 | ROOT_DIR := $(dir $(ROOT_MAKEFILE)) | 28 | ROOT_DIR := $(dir $(ROOT_MAKEFILE)) |
@@ -462,20 +464,25 @@ endef | |||
462 | 464 | ||
463 | include $(ROOT_DIR)/message.mk | 465 | include $(ROOT_DIR)/message.mk |
464 | 466 | ||
467 | ifeq ($(strip $(BREAK_ON_ERRORS)), yes) | ||
468 | HANDLE_ERROR = exit 1 | ||
469 | else | ||
470 | HANDLE_ERROR = echo $$error_occurred > $(ERROR_FILE) | ||
471 | endif | ||
472 | |||
465 | # The empty line is important here, as it will force a new shell to be created for each command | 473 | # The empty line is important here, as it will force a new shell to be created for each command |
466 | # Otherwise the command line will become too long with a lot of keyboards and keymaps | 474 | # Otherwise the command line will become too long with a lot of keyboards and keymaps |
467 | define RUN_COMMAND | 475 | define RUN_COMMAND |
468 | +error_occurred=0;\ | 476 | +error_occurred=0;\ |
469 | $(COMMAND_$(SILENT_MODE)_$(COMMAND))\ | 477 | $(COMMAND_$(SILENT_MODE)_$(COMMAND))\ |
470 | if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi; | 478 | if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi; |
471 | 479 | ||
472 | 480 | ||
473 | endef | 481 | endef |
474 | define RUN_TEST | 482 | define RUN_TEST |
475 | +error_occurred=0;\ | 483 | +error_occurred=0;\ |
476 | $($(TEST)_COMMAND)\ | 484 | $($(TEST)_COMMAND)\ |
477 | if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi; | 485 | if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi; |
478 | |||
479 | endef | 486 | endef |
480 | 487 | ||
481 | # Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps | 488 | # Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps |