libpath=$(echo "int main(void){return 0;}" |
    $CC -x c -o /dev/null -Wl,--verbose $LDFLAGS - $LDLIBS 2>&1 |
    sed -n 's#^.*ld: \(.*/libbar.a\)$#\1#p')
tmp=$(TMPDIR=`pwd` mktemp -d)
trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
$CC $CFLAGS -c -o $tmp/main.o $1
( cd $tmp && $AR -x $libpath )
$DTRACE -G -o $tmp/barsdt.o -s sdt.d $tmp/*.o
$CC $CFLAGS $LDFLAGS -o ... $tmp/*.o $LDLIBS