Rasmus Villemoes | 56d4a38 | 2015-08-20 11:53:27 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | outfile="" |
| 4 | now=`date +%s` |
| 5 | |
| 6 | while [ $# -gt 0 ] |
| 7 | do |
| 8 | case "$1" in |
| 9 | -o) |
| 10 | outfile="$2" |
| 11 | shift 2;; |
| 12 | -h) |
| 13 | echo "usage: $0 [-o outfile] <make options/args>" |
| 14 | exit 0;; |
| 15 | *) break;; |
| 16 | esac |
| 17 | done |
| 18 | |
| 19 | if [ -z "$outfile" ] |
| 20 | then |
| 21 | outfile=`mktemp --tmpdir stackusage.$$.XXXX` |
| 22 | fi |
| 23 | |
| 24 | KCFLAGS="${KCFLAGS} -fstack-usage" make "$@" |
| 25 | |
| 26 | # Prepend directory name to file names, remove column information, |
| 27 | # make file:line/function/size/type properly tab-separated. |
| 28 | find . -name '*.su' -newermt "@${now}" -print | \ |
| 29 | xargs perl -MFile::Basename -pe \ |
| 30 | '$d = dirname($ARGV); s#([^:]+:[0-9]+):[0-9]+:#$d/$1\t#;' | \ |
| 31 | sort -k3,3nr > "${outfile}" |
| 32 | |
| 33 | echo "$0: output written to ${outfile}" |