message.mk (5579B)
1 COLOR ?= true 2 3 ifeq ($(COLOR),true) 4 NO_COLOR=\033[0m 5 OK_COLOR=\033[32;01m 6 ERROR_COLOR=\033[31;01m 7 WARN_COLOR=\033[33;01m 8 SKIPPED_COLOR=\033[36;01m 9 BLUE=\033[0;34m 10 BOLD=\033[1m 11 endif 12 13 ifneq ($(shell echo "1 2 3" | awk '{ printf "%2s", $$3; }' 2>/dev/null)," 3") 14 AWK=awk 15 else 16 AWK=cat && test 17 endif 18 19 ON_ERROR ?= exit 1 20 21 OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n 22 ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n 23 WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n 24 SKIPPED_STRING=$(SKIPPED_COLOR)[SKIPPED]$(NO_COLOR)\n 25 26 TAB_LOG = printf "\n%s\n\n" "$$LOG" | $(AWK) '{ sub(/^/," | "); print }' 27 TAB_LOG_PLAIN = printf "%s\n" "$$LOG" 28 AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }' 29 AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }' 30 PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && $(ON_ERROR) 31 PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) 32 PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && $(ON_ERROR) 33 PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) 34 PRINT_SKIPPED_PLAIN = ($(SILENT) || printf " $(SKIPPED_STRING)" | $(AWK_STATUS)) 35 PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS) 36 BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi; 37 MAKE_MSG_FORMAT = $(AWK) '{ printf "%-118s", $$0;}' 38 39 # The UNSYNC_OUTPUT_CMD command disables the `--output-sync` for the current command, if the `--output-sync` granularity is `target` or lower. 40 # This is achieved by telling make to treat the current command as if it invokes a recursive make subcommand (as if by calling `$(MAKE)`). 41 UNSYNC_OUTPUT_CMD = +true 42 43 # Define Messages 44 # English 45 MSG_ERRORS_NONE = Errors: none 46 MSG_ERRORS = $(ERROR_COLOR)Make finished with errors\n$(NO_COLOR) 47 MSG_BEGIN = -------- begin -------- 48 MSG_END = -------- end -------- 49 MSG_SIZE_BEFORE = Size before: 50 MSG_SIZE_AFTER = Size after: 51 MSG_COFF = Converting to AVR COFF: 52 MSG_EXTENDED_COFF = Converting to AVR Extended COFF: 53 MSG_FLASH = Creating load file for flashing: 54 MSG_UF2 = Creating UF2 file for deployment: 55 MSG_EEPROM = Creating load file for EEPROM: 56 MSG_BIN = Creating binary load file for flashing: 57 MSG_EXTENDED_LISTING = Creating Extended Listing: 58 MSG_SYMBOL_TABLE = Creating Symbol Table: 59 MSG_EXECUTING = Executing: 60 MSG_LINKING = Linking: 61 MSG_COMPILING = Compiling: 62 MSG_COMPILING_CXX = Compiling: 63 MSG_ASSEMBLING = Assembling: 64 MSG_CLEANING = Cleaning project: 65 MSG_CREATING_LIBRARY = Creating library: 66 MSG_GENERATING = Generating: 67 MSG_NOT_REPO = $(WARN_COLOR)WARNING:$(NO_COLOR) Target folder is not a git repo, you probably downloaded a zip file instead of cloning.\n\ 68 Please consider following $(BOLD)https://docs.qmk.fm/\#/newbs_getting_started$(NO_COLOR).\n\n 69 MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR) Some git submodules are out of date or modified.\n\ 70 Please consider running $(BOLD)qmk git-submodule$(NO_COLOR).\n\n 71 72 define GENERATE_MSG_MAKE_KB 73 MSG_MAKE_KB_ACTUAL := Making $$(KB_SP) with keymap $(BOLD)$$(CURRENT_KM)$(NO_COLOR) 74 ifneq ($$(MAKE_TARGET),) 75 MSG_MAKE_KB_ACTUAL += and target $(BOLD)$$(MAKE_TARGET)$(NO_COLOR) 76 endif 77 endef 78 MSG_MAKE_KB = $(eval $(call GENERATE_MSG_MAKE_KB))$(MSG_MAKE_KB_ACTUAL) 79 define GENERATE_MSG_MAKE_TEST 80 MSG_MAKE_TEST_ACTUAL := Making test $(BOLD)$(TEST_NAME)$(NO_COLOR) 81 ifneq ($$(MAKE_TARGET),) 82 MSG_MAKE_TEST_ACTUAL += with target $(BOLD)$$(MAKE_TARGET)$(NO_COLOR) 83 endif 84 endef 85 MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL) 86 MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR) 87 define GENERATE_MSG_AVAILABLE_KEYMAPS 88 MSG_AVAILABLE_KEYMAPS_ACTUAL := Available keymaps for $(BOLD)$$(CURRENT_KB)$(NO_COLOR): 89 endef 90 MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAILABLE_KEYMAPS_ACTUAL) 91 92 MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n 93 MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT) 94 MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n 95 MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n 96 MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n 97 MSG_FILE_NEAR_LIMIT = The firmware size is approaching the maximum - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n 98 MSG_PYTHON_MISSING = $(ERROR_COLOR)ERROR:$(NO_COLOR) Cannot run \"qmk hello\"!\n\n\ 99 Please run $(BOLD)qmk setup$(NO_COLOR) to install all the dependencies QMK requires.\n\n 100 MSG_FLASH_BOOTLOADER = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's bootloader is not specified or is not supported by the \":flash\" target at this time.\n\n 101 MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is not supported by the \":flash\" target at this time.\n\n 102 MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again in 5s (Ctrl+C to cancel)\n 103 BOOTLOADER_RETRY_TIME ?= 0.5 104 MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel) 105 106 define WARNING_MESSAGE 107 $(shell printf "\n %-99s $(WARN_STRING)\n" "$1" >&2) 108 endef 109 110 define CATASTROPHIC_ERROR 111 $(shell printf "\n * %-99s $(ERROR_STRING)\n" "$2" >&2) 112 $(error $1) 113 endef