From 68b1d8b1e274b97a428e114aaf3fd310f5d56757 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Sat, 12 Aug 2023 16:55:08 +0200 Subject: [PATCH] small improvement to script --- scripts/find_unused_symbols.sh | 45 ++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/scripts/find_unused_symbols.sh b/scripts/find_unused_symbols.sh index 17f9e6d5da..090f6de432 100755 --- a/scripts/find_unused_symbols.sh +++ b/scripts/find_unused_symbols.sh @@ -31,43 +31,56 @@ # options=$1 +WORKDIR=.. OBJDIR=obj -EXECUTABLES="../IVAS_cod ../IVAS_dec ../IVAS_rend" +EXECUTABLES="${WORKDIR}/IVAS_cod ${WORKDIR}/IVAS_dec ${WORKDIR}/IVAS_rend" evaluateTables=1 evaluateFunctions=1 compile=1 help=0 -if [ $# -gt 0 ]; then - evaluateTables=0 - evaluateFunctions=0 - compile=1 -fi - -while getopts "ftnh" OPT; do +while getopts ":ftnhd:" OPT; do case "$OPT" in - f) evaluateFunctions=1;; - t) evaluateTables=1;; - n) compile=0;; - h) help=1;; + d) + WORKDIR="${OPTARG}" + ;; + f) + evaluateFunctions=1 + evaluateTables=0 + ;; + t) + evaluateFunctions=0 + evaluateTables=1 + ;; + n) + compile=0 + ;; + h) + help=1 + ;; *) # getopts produces error - exit 1;; + exit 1 + ;; esac done if [ $help -ne 0 ]; then echo "Usage: $0 [-ftn]" echo " where" + echo " -d : set C-code dir (default: ${WORKDIR})" echo " -f: functions only" echo " -t: tables only" echo " -n: no compilation" exit 0 fi +# print C-code directory +echo "C-code directory set to ${WORKDIR}" + # build if [ $compile -ne 0 ]; then - make -C .. DEBUG=0 STRIP=1 clean all 1>&2 + make -C ${WORKDIR} DEBUG=0 STRIP=1 clean all 1>&2 fi if [ $evaluateFunctions != 0 ]; then @@ -75,7 +88,7 @@ if [ $evaluateFunctions != 0 ]; then rm -f functions_obj.txt functions_exe.txt 1>&2 # find all functions in object files - nm ../${OBJDIR}/*.o | grep "^[0-9a-f]* T " | sed 's/^[0-9a-f]* T //' | sort -u > functions_obj.txt + nm ${WORKDIR}/${OBJDIR}/*.o | grep "^[0-9a-f]* T " | sed 's/^[0-9a-f]* T //' | sort -u > functions_obj.txt # find all symbols in final executables nm ${EXECUTABLES} | grep "^[0-9a-f]* T " | sed 's/^[0-9a-f]* T //' | sort -u > functions_exe.txt @@ -91,7 +104,7 @@ if [ $evaluateTables -ne 0 ]; then rm -f tables_obj.txt tables_exe.txt 1>&2 # find all functions in object files - nm ../${OBJDIR}/*.o | grep "^[0-9a-f]* [RD] " | sed 's/^[0-9a-f]* [RD] //' | sort -u > tables_obj.txt + nm ${WORKDIR}/${OBJDIR}/*.o | grep "^[0-9a-f]* [RD] " | sed 's/^[0-9a-f]* [RD] //' | sort -u > tables_obj.txt # find all symbols in final executables nm ${EXECUTABLES} | grep "^[0-9a-f]* [RD] " | sed 's/^[0-9a-f]* [RD] //' | sort -u > tables_exe.txt -- GitLab