diff --git a/Makefile b/Makefile index 977df5d4e..bcf25fe6d 100644 --- a/Makefile +++ b/Makefile @@ -136,6 +136,7 @@ help: @echo ' randconfig - generate a random configuration' @echo ' release - create a distribution tarball' @echo ' sizes - show size of all enabled busybox symbols' + @echo ' objsizes - show size of each .o object built' @echo @@ -349,9 +350,14 @@ check test: busybox bindir=$(top_builddir) srcdir=$(top_srcdir)/testsuite \ $(top_srcdir)/testsuite/runtest $(CHECK_VERBOSE) +.PHONY: sizes sizes: busybox_unstripped $(NM) --size-sort $(<) +.PHONY: objsizes +objsizes: busybox_unstripped + $(SHELL) $(top_srcdir)/scripts/objsizes + # Documentation Targets doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html diff --git a/scripts/objsizes b/scripts/objsizes new file mode 100755 index 000000000..291285f03 --- /dev/null +++ b/scripts/objsizes @@ -0,0 +1,8 @@ +#!/bin/sh + +printf "%9s %11s %9s %9s %s\n" "text+data" text+rodata rwdata bss filename +find -name '*.o' | sed 's:^\./::' | xargs size | grep '^ *[0-9]' \ +| while read text data bss dec hex filename; do + printf "%9d %11d %9d %9d %s\n" $((text+data)) $text $data $bss "$filename" +done \ +| sort