diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index 281b4fba87c2ed3bd1ea38c474814bcf9bc943ce..61993ec585311e0bb83f1a1a471dbcee8e1797be 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -67,9 +67,9 @@ done shift $((OPTIND-1)) -wmc_opt="" +wmc_opt="-b" if [ "$MODE" = "MEM_ONLY" ]; then - wmc_opt="-s" + wmc_opt="-s ${wmc_opt}" fi @@ -165,12 +165,19 @@ if coan_exists; then sed -i "/-DWMOPS/d" $ifdef_list sed -i "/-UMEM_COUNT_DETAILS/d" $ifdef_list - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,isar,rend,util,debug}/!(wmc_auto*).[hc] - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_com/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_dec/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_enc/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_isar/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_rend/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_util/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_debug/!(wmc_auto*).[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] & if [ "$PROJECT" = "FLOAT" ]; then - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_lc3plus/!(wmc_auto*).[hc] - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_lc3plus/fft/!(wmc_auto*).[hc] + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_lc3plus/*.[hc] & + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_lc3plus/fft/*.[hc] & fi + wait else ./strip_defines_cppp.sh $targetdir $ifdef_list fi @@ -180,15 +187,17 @@ shopt -u extglob find $targetdir -name "*.[ch]" -exec sed -i.bak -e "s/\(0x[0-9a-fA-F]*\)UL/\(\(unsigned long\)\1\)/" \{\} \; # run wmc_tool -"tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" >> /dev/null -"tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_rend/*.c" >> /dev/null +"tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" >> /dev/null & +"tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_rend/*.c" >> /dev/null & +wait # ISAR post-renderer and lc3plus sources only need to be instrumented in float code if [ "$PROJECT" = "FLOAT" ]; then "tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/renderer.c" "$targetdir/lib_rend/*.c" "$targetdir/lib_lc3plus/*.c" "$targetdir/lib_lc3plus/fft/*.c" >> /dev/null - "tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/isar_post_rend.c" "$targetdir/lib_isar/*.c" "$targetdir/lib_lc3plus/*.c" "$targetdir/lib_lc3plus/fft/*.c" >> /dev/null + "tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/isar_post_rend.c" "$targetdir/lib_isar/*.c" "$targetdir/lib_lc3plus/*.c" "$targetdir/lib_lc3plus/fft/*.c" >> /dev/null & else - "tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/renderer.c" "$targetdir/lib_rend/*.c" >> /dev/null + "tools/$system/wmc_tool" $wmc_opt -m "$targetdir/apps/renderer.c" "$targetdir/lib_rend/*.c" >> /dev/null & fi +wait # automatically enable #define WMOPS in options.h sed -i.bak -e "s/\/\*[[:space:]]*\(#define[[:space:]]*WMOPS\)[[:space:]]*\*\//\1/g" $targetdir/lib_com/options.h