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 |
