#  Rebuild the Xrefs
XREF=$1
shift
if [ ! -f ${XREF} ]; then 		# no ../Xref file yet,
  touch ${XREF}
fi
echo >${XREF}.tmp ".\\\" Cross-references generated by $0 `TZ=Etc/UTC date`"
cat $* | grep '><PAGENO:' | sed 's/><PAGENO://; s/ *$//'| sort -f +1 >>${XREF}.tmp
cat $* | grep '><PAGENO:' | sed 's/><PAGENO://; s/ *$//'| awk '{print $2}' | sort | uniq -d >/tmp/double-defines
if [ -s /tmp/double-defines ]; then
  echo "*** Doubly defined references:"
  ref=`xargs </tmp/double-defines`
  for i in $ref; do
# Show how they're defined
    grep $i ${XREF}.tmp | sed 's:^\.ds ::'
# Show any references in the source 
    grep -n $i *.mm
  done
#  exit 1; \
fi
tail +2 ${XREF}.tmp >${XREF}.1
tail +2 ${XREF} >${XREF}.2
cmp ${XREF}.[12]; \
if [ $? -ne 0 ]; then
  echo "++++ Xrefs have changed - need to repeat format";
  mv ${XREF}.tmp ${XREF};
fi
rm -f ${XREF}.[12] ${XREF}.tmp
