Add makefile option to break on errors
This commit is contained in:
parent
d3301c0f8b
commit
224fc8a20f
13
Makefile
13
Makefile
@ -21,6 +21,8 @@ override SILENT := false
|
|||||||
|
|
||||||
ON_ERROR := error_occurred=1
|
ON_ERROR := error_occurred=1
|
||||||
|
|
||||||
|
BREAK_ON_ERRORS = no
|
||||||
|
|
||||||
STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))
|
STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))
|
||||||
ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))
|
ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))
|
||||||
ROOT_DIR := $(dir $(ROOT_MAKEFILE))
|
ROOT_DIR := $(dir $(ROOT_MAKEFILE))
|
||||||
@ -462,20 +464,25 @@ endef
|
|||||||
|
|
||||||
include $(ROOT_DIR)/message.mk
|
include $(ROOT_DIR)/message.mk
|
||||||
|
|
||||||
|
ifeq ($(strip $(BREAK_ON_ERRORS)), yes)
|
||||||
|
HANDLE_ERROR = exit 1
|
||||||
|
else
|
||||||
|
HANDLE_ERROR = echo $$error_occurred > $(ERROR_FILE)
|
||||||
|
endif
|
||||||
|
|
||||||
# The empty line is important here, as it will force a new shell to be created for each command
|
# The empty line is important here, as it will force a new shell to be created for each command
|
||||||
# Otherwise the command line will become too long with a lot of keyboards and keymaps
|
# Otherwise the command line will become too long with a lot of keyboards and keymaps
|
||||||
define RUN_COMMAND
|
define RUN_COMMAND
|
||||||
+error_occurred=0;\
|
+error_occurred=0;\
|
||||||
$(COMMAND_$(SILENT_MODE)_$(COMMAND))\
|
$(COMMAND_$(SILENT_MODE)_$(COMMAND))\
|
||||||
if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi;
|
if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
|
||||||
|
|
||||||
|
|
||||||
endef
|
endef
|
||||||
define RUN_TEST
|
define RUN_TEST
|
||||||
+error_occurred=0;\
|
+error_occurred=0;\
|
||||||
$($(TEST)_COMMAND)\
|
$($(TEST)_COMMAND)\
|
||||||
if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi;
|
if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps
|
# Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps
|
||||||
|
Loading…
Reference in New Issue
Block a user