1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#!/bin/sh
# usage: eztrace_cc gcc -o foo foo.c -I/usr/include/bar -L/lib/bar -lbar
cc_cmd=$*
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
bindir=@bindir@
OPARI=${bindir}/opari
CFLAGS=-I${includedir}
LDFLAGS="-lpomp -L${libdir} -Wl,-rpath=${libdir}"
instrumentFile()
{
param=$1
new_file_name=$2
${OPARI} $param $new_file_name
cc_cmd=`echo $cc_cmd | sed "s@$param\s@$new_file_name @"`
cleanup_cmd="$cleanup_cmd $new_file_name ${param}.opari.inc"
}
cleanup_cmd="rm -f opari.rc "
for x in $(seq $#) ;
do
param=$(eval echo \$"$x")
case $param in
*.c )
new_file_name=`mktemp --suffix=.c --tmpdir=$PWD`
instrumentFile $param $new_file_name
;;
*.f )
new_file_name=`mktemp --suffix=.f --tmpdir=$PWD`
instrumentFile $param $new_file_name
;;
*.F )
new_file_name=`mktemp --suffix=.F --tmpdir=$PWD`
instrumentFile $param $new_file_name
;;
*.f90 )
new_file_name=`mktemp --suffix=.f90 --tmpdir=$PWD`
instrumentFile $param $new_file_name
;;
esac
done
cc_cmd="$cc_cmd $CFLAGS $LDFLAGS"
$cc_cmd
$cleanup_cmd
|