| #!/bin/sh |
| |
| outfile="" |
| now=`date +%s` |
| |
| while [ $# -gt 0 ] |
| do |
| case "$1" in |
| -o) |
| outfile="$2" |
| shift 2;; |
| -h) |
| echo "usage: $0 [-o outfile] <make options/args>" |
| exit 0;; |
| *) break;; |
| esac |
| done |
| |
| if [ -z "$outfile" ] |
| then |
| outfile=`mktemp --tmpdir stackusage.$$.XXXX` |
| fi |
| |
| KCFLAGS="${KCFLAGS} -fstack-usage" make "$@" |
| |
| # Prepend directory name to file names, remove column information, |
| # make file:line/function/size/type properly tab-separated. |
| find . -name '*.su' -newermt "@${now}" -print | \ |
| xargs perl -MFile::Basename -pe \ |
| '$d = dirname($ARGV); s#([^:]+:[0-9]+):[0-9]+:#$d/$1\t#;' | \ |
| sort -k3,3nr > "${outfile}" |
| |
| echo "$0: output written to ${outfile}" |