summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-09-12 05:16:39 +0100
committerGitHub <noreply@github.com>2023-09-12 05:16:39 +0100
commit06cec720dde5e4c9acfb476cbdf3e098a2172eee (patch)
treef2dd40ad9a08a2061520d950c19d68a5459a7182
parentad4fc42e6be5da5c12e64b60f53839d951532a19 (diff)
Remove 'Firmware size check does not yet support' message (#21977)
-rw-r--r--builddefs/common_rules.mk26
-rw-r--r--builddefs/message.mk1
-rw-r--r--platforms/avr/platform.mk23
3 files changed, 24 insertions, 26 deletions
diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk
index d20e9ad74d..261ab7da02 100644
--- a/builddefs/common_rules.mk
+++ b/builddefs/common_rules.mk
@@ -380,33 +380,9 @@ dump_vars:
380objs-size: 380objs-size:
381 for i in $(OBJ); do echo $$i; done | sort | xargs $(SIZE) 381 for i in $(OBJ); do echo $$i; done | sort | xargs $(SIZE)
382 382
383ifeq ($(findstring avr-gcc,$(CC)),avr-gcc)
384SIZE_MARGIN = 1024
385 383
384# size check optionally implemented in its platform.mk
386check-size: 385check-size:
387 $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | $(SED) -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0))
388 $(eval CURRENT_SIZE=$(shell if [ -f $(BUILD_DIR)/$(TARGET).hex ]; then $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(AWK) 'NR==2 {print $$4}'; else printf 0; fi))
389 $(eval FREE_SIZE=$(shell expr $(MAX_SIZE) - $(CURRENT_SIZE)))
390 $(eval OVER_SIZE=$(shell expr $(CURRENT_SIZE) - $(MAX_SIZE)))
391 $(eval PERCENT_SIZE=$(shell expr $(CURRENT_SIZE) \* 100 / $(MAX_SIZE)))
392 if [ $(MAX_SIZE) -gt 0 ] && [ $(CURRENT_SIZE) -gt 0 ]; then \
393 $(SILENT) || printf "$(MSG_CHECK_FILESIZE)" | $(AWK_CMD); \
394 if [ $(CURRENT_SIZE) -gt $(MAX_SIZE) ]; then \
395 $(REMOVE) $(TARGET).$(FIRMWARE_FORMAT); \
396 $(REMOVE) $(BUILD_DIR)/$(TARGET).{hex,bin,uf2}; \
397 printf "\n * $(MSG_FILE_TOO_BIG)"; $(PRINT_ERROR_PLAIN); \
398 else \
399 if [ $(FREE_SIZE) -lt $(SIZE_MARGIN) ]; then \
400 $(PRINT_WARNING_PLAIN); printf " * $(MSG_FILE_NEAR_LIMIT)"; \
401 else \
402 $(PRINT_OK); $(SILENT) || printf " * $(MSG_FILE_JUST_RIGHT)"; \
403 fi ; \
404 fi ; \
405 fi
406else
407check-size:
408 $(SILENT) || echo "$(MSG_CHECK_FILESIZE_SKIPPED)"
409endif
410 386
411check-md5: 387check-md5:
412 $(MD5SUM) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) 388 $(MD5SUM) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT)
diff --git a/builddefs/message.mk b/builddefs/message.mk
index bf39554dab..c7cc5171e7 100644
--- a/builddefs/message.mk
+++ b/builddefs/message.mk
@@ -91,7 +91,6 @@ MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAI
91 91
92MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n 92MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n
93MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT) 93MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT)
94MSG_CHECK_FILESIZE_SKIPPED = (Firmware size check does not yet support $(MCU_ORIG); skipping)
95MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n 94MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n
96MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n 95MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n
97MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n 96MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n
diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk
index 09028d80af..aef449cadf 100644
--- a/platforms/avr/platform.mk
+++ b/platforms/avr/platform.mk
@@ -109,6 +109,29 @@ DEBUG_HOST = localhost
109 109
110#============================================================================ 110#============================================================================
111 111
112SIZE_MARGIN = 1024
113
114check-size:
115 $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | $(SED) -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0))
116 $(eval CURRENT_SIZE=$(shell if [ -f $(BUILD_DIR)/$(TARGET).hex ]; then $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(AWK) 'NR==2 {print $$4}'; else printf 0; fi))
117 $(eval FREE_SIZE=$(shell expr $(MAX_SIZE) - $(CURRENT_SIZE)))
118 $(eval OVER_SIZE=$(shell expr $(CURRENT_SIZE) - $(MAX_SIZE)))
119 $(eval PERCENT_SIZE=$(shell expr $(CURRENT_SIZE) \* 100 / $(MAX_SIZE)))
120 if [ $(MAX_SIZE) -gt 0 ] && [ $(CURRENT_SIZE) -gt 0 ]; then \
121 $(SILENT) || printf "$(MSG_CHECK_FILESIZE)" | $(AWK_CMD); \
122 if [ $(CURRENT_SIZE) -gt $(MAX_SIZE) ]; then \
123 $(REMOVE) $(TARGET).$(FIRMWARE_FORMAT); \
124 $(REMOVE) $(BUILD_DIR)/$(TARGET).{hex,bin,uf2}; \
125 printf "\n * $(MSG_FILE_TOO_BIG)"; $(PRINT_ERROR_PLAIN); \
126 else \
127 if [ $(FREE_SIZE) -lt $(SIZE_MARGIN) ]; then \
128 $(PRINT_WARNING_PLAIN); printf " * $(MSG_FILE_NEAR_LIMIT)"; \
129 else \
130 $(PRINT_OK); $(SILENT) || printf " * $(MSG_FILE_JUST_RIGHT)"; \
131 fi ; \
132 fi ; \
133 fi
134
112# Convert hex to bin. 135# Convert hex to bin.
113bin: $(BUILD_DIR)/$(TARGET).hex 136bin: $(BUILD_DIR)/$(TARGET).hex
114ifeq ($(BOOTLOADER),lufa-ms) 137ifeq ($(BOOTLOADER),lufa-ms)