#!/bin/sh
-printf "%9s %11s %9s %9s %s\n" "text+data" text+rodata rwdata bss filename
+t_text=0
+t_data=0
+t_bss=0
+
+printf "%9s %11s %9s %9s %s\n" "text+data" "text+rodata" rwdata bss filename
+
find -name '*.o' | grep -v '^\./scripts/' | grep -vF built-in.o \
| sed 's:^\./::' | xargs "${CROSS_COMPILE}size" | grep '^ *[0-9]' \
-| while read text data bss dec hex filename; do
+| {
+while read text data bss dec hex filename; do
+ t_text=$((t_text+text))
+ t_data=$((t_data+data))
+ t_bss=$((t_bss+bss))
printf "%9d %11d %9d %9d %s\n" $((text+data)) $text $data $bss "$filename"
-done | sort -r
+done
+printf "%9d %11d %9d %9d %s\n" $((t_text+t_data)) $t_text $t_data $t_bss "TOTAL"
+} | sort -r