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