#!/bin/sh

set -e

find_names() {
    zcat -f "$@" |
    sed -n '/^\.SH NAME/,/^\.SH SYNOPSIS/p' |
    grep -v '^\.SH ' |
    tr '\12' ' ' |
    sed 's/ \\- .*//' |
    tr , ' ' |
    sed 's/  */ /g'
}

for name in `find_names "$1"`
do
    tgt="$2/$name.$3.gz"
    if [ ! -f $tgt -a ! -L $tgt ]
    then
	(cd $2 && ln -sf `basename $1`.gz $name.$3.gz)
    fi
done
