#!/bin/sh

# usage: eztrace_cc gcc -o foo foo.c -I/usr/include/bar -L/lib/bar -lbar

cc_cmd=$*


prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/powerpc-linux-gnu
includedir=${prefix}/include
bindir=${exec_prefix}/bin

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
