summaryrefslogtreecommitdiff
path: root/builddefs
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2022-06-16 09:55:15 +1000
committerGitHub <noreply@github.com>2022-06-16 09:55:15 +1000
commitfa8fb6027952cfeda532ff4712c07e80cde8cfbf (patch)
treebbe3ba06b96ffd412ee5f5286aed7b8632dcd2dd /builddefs
parent589bdedc470975406ddc0b0ce1034ecd44cd3f00 (diff)
downloadqmk_firmware-fa8fb6027952cfeda532ff4712c07e80cde8cfbf.tar.gz
qmk_firmware-fa8fb6027952cfeda532ff4712c07e80cde8cfbf.zip
Dump out the largest symbols in flash and in RAM. (#17397)
Diffstat (limited to 'builddefs')
-rw-r--r--builddefs/build_keyboard.mk13
1 files changed, 13 insertions, 0 deletions
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk
index a258f33216..2b9ec48e70 100644
--- a/builddefs/build_keyboard.mk
+++ b/builddefs/build_keyboard.mk
@@ -471,6 +471,19 @@ check-size: build
check-md5: build
objs-size: build
+ifeq ($(strip $(TOP_SYMBOLS)),yes)
+all: top-symbols
+check-size: top-symbols
+top-symbols: build
+ echo "###########################################"
+ echo "# Highest flash usage:"
+ $(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [t] ' | head -n10 | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
+ echo "###########################################"
+ echo "# Highest RAM usage:"
+ $(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [dbv] ' | head -n10 | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
+ echo "###########################################"
+endif
+
include $(BUILDDEFS_PATH)/show_options.mk
include $(BUILDDEFS_PATH)/common_rules.mk