diff --git a/scripts/find_unused_symbols.sh b/scripts/find_unused_symbols.sh
index 17f9e6d5da9ba79820f70536e338688dcb113404..090f6de4323eee8fb6628e2572227552f02b41d0 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