|  | #!/bin/sh | 
|  | # SPDX-License-Identifier: GPL-2.0 | 
|  |  | 
|  | 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}" |