162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ci 462306a36Sopenharmony_cioutfile="" 562306a36Sopenharmony_cinow=`date +%s` 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciwhile [ $# -gt 0 ] 862306a36Sopenharmony_cido 962306a36Sopenharmony_ci case "$1" in 1062306a36Sopenharmony_ci -o) 1162306a36Sopenharmony_ci outfile="$2" 1262306a36Sopenharmony_ci shift 2;; 1362306a36Sopenharmony_ci -h) 1462306a36Sopenharmony_ci echo "usage: $0 [-o outfile] <make options/args>" 1562306a36Sopenharmony_ci exit 0;; 1662306a36Sopenharmony_ci *) break;; 1762306a36Sopenharmony_ci esac 1862306a36Sopenharmony_cidone 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciif [ -z "$outfile" ] 2162306a36Sopenharmony_cithen 2262306a36Sopenharmony_ci outfile=`mktemp --tmpdir stackusage.$$.XXXX` 2362306a36Sopenharmony_cifi 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciKCFLAGS="${KCFLAGS} -fstack-usage" make "$@" 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci# Prepend directory name to file names, remove column information, 2862306a36Sopenharmony_ci# make file:line/function/size/type properly tab-separated. 2962306a36Sopenharmony_cifind . -name '*.su' -newermt "@${now}" -print | \ 3062306a36Sopenharmony_ci xargs perl -MFile::Basename -pe \ 3162306a36Sopenharmony_ci '$d = dirname($ARGV); s#([^:]+:[0-9]+):[0-9]+:#$d/$1\t#;' | \ 3262306a36Sopenharmony_ci sort -k3,3nr > "${outfile}" 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciecho "$0: output written to ${outfile}" 35