X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Makefile;h=6364e0af8b337cdb8009b89e23643953bf9eeb1b;hb=6b70b6a9907722a3a6d38a5f9f249df0b052d18c;hp=9d9c9629d543a6992c960502e685fc7f29dc4b56;hpb=3c7fa0acc10305a573bc3bb29243a7a3d601579b;p=qmk_firmware.git diff --git a/Makefile b/Makefile index 9d9c9629d..6364e0af8 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,8 @@ override SILENT := false ON_ERROR := error_occurred=1 +BREAK_ON_ERRORS = no + STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST)) ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST)) ROOT_DIR := $(dir $(ROOT_MAKEFILE)) @@ -388,6 +390,7 @@ endef define BUILD MAKE_VARS += VERBOSE=$(VERBOSE) COLOR=$(COLOR) COMMANDS += $$(COMMAND) + MAKE_MSG = QMK Firmware v$$(shell git describe --abbrev=0 --tags 2>/dev/null)\n\n$(MAKE_MSG) COMMAND_true_$$(COMMAND) := \ printf "$$(MAKE_MSG)" | \ $$(MAKE_MSG_FORMAT); \ @@ -417,8 +420,8 @@ define BUILD_TEST MAKE_TARGET := $2 COMMAND := $1 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_test.mk $$(MAKE_TARGET) - MAKE_VARS := TEST=$$(TEST_NAME) - MAKE_MSG := $$(MSG_MAKE_TEST) + MAKE_VARS := TEST=$$(TEST_NAME) FULL_TESTS="$$(FULL_TESTS)" + MAKE_MSG := QMK Firmware v$$(shell git describe --abbrev=0 --tags 2>/dev/null)\n\n$$(MSG_MAKE_TEST) $$(eval $$(call BUILD)) ifneq ($$(MAKE_TARGET),clean) TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf @@ -462,19 +465,26 @@ endef 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 # Otherwise the command line will become too long with a lot of keyboards and keymaps define RUN_COMMAND +error_occurred=0;\ $(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 define RUN_TEST +error_occurred=0;\ $($(TEST)_COMMAND)\ -if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi; +if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi; + endef @@ -527,14 +537,22 @@ test: test-all .PHONY: test-clean test-clean: test-all-clean +ifdef SKIP_VERSION +SKIP_GIT := yes +endif + # Generate the version.h file ifndef SKIP_GIT GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") else GIT_VERSION := NA endif +ifndef SKIP_VERSION BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S") $(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h) $(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h) +else +BUILD_DATE := NA +endif include $(ROOT_DIR)/testlist.mk