#!/bin/sh
T=`mktemp`
T1=`mktemp`
T2=`mktemp`

for s in "$@"; do
	FILENAME=`basename $s`
    nm -D "$s" > $T
	sed -e "s!^         . \(.*\)\$!req\t$FILENAME\t\1!" < $T | grep ^req >> $T1
	sed -e "s!^[0-9a-f]....... . \(.*\)\$!provides\t$FILENAME\t\1!" < $T | grep ^provides >> $T2
done

rm -f $T
T3=`mktemp`
T4=`mktemp`
awk '{print $3, $2}' < $T1 | sort > $T3
awk '{print $3, $2}' < $T2 | sort > $T4
rm -f $T1 $T2

echo "digraph test {"
echo "rankdir=BT;" 
echo "mclimit=10;" 
echo "ranksep=1.5;" 
echo "overlap=false;" 
echo "spline=true;" 
echo "node [fontsize=30];" 

join $T3 $T4 | awk '{ print $2, $3 }' | sort -u | sed 's/\(.*\) \(.*\)/"\1" -> "\2"/'
rm -f $T3 $T4
echo "}" 
