Home | History | Annotate | Line # | Download | only in tools
      1  1.1  mrg MANDIR=/usr/man
      2  1.1  mrg TMPDIR=/usr/man/tmp
      3  1.1  mrg TOOLS=$MANDIR/tools
      4  1.1  mrg 
      5  1.1  mrg trap "rm $TMPDIR/tmp.$$ ; exit" 2 3 15
      6  1.1  mrg 
      7  1.1  mrg P=108
      8  1.1  mrg p=""
      9  1.1  mrg if test "$1" = "-p"
     10  1.1  mrg then
     11  1.1  mrg 	P=65
     12  1.1  mrg 	p=-p
     13  1.1  mrg 	shift
     14  1.1  mrg fi
     15  1.1  mrg 
     16  1.1  mrg if test $# -eq 0
     17  1.1  mrg then
     18  1.1  mrg 	echo "tocrc: no argument"
     19  1.1  mrg 	exit
     20  1.1  mrg fi
     21  1.1  mrg 
     22  1.1  mrg if test $# -eq 2
     23  1.1  mrg then
     24  1.1  mrg 	: create toc input file for one section only
     25  1.1  mrg 
     26  1.1  mrg 	> $TMPDIR/tocx$1
     27  1.1  mrg 	for file in $MANDIR/man$1/*.$1*
     28  1.1  mrg 	do
     29  1.1  mrg 		if test ! -s $file
     30  1.1  mrg 		then
     31  1.1  mrg 			continue
     32  1.1  mrg 		fi
     33  1.1  mrg 		so=`line < $file | sed "s/ .*//"`
     34  1.1  mrg 		if test "$so" = ".so"
     35  1.1  mrg 		then
     36  1.1  mrg 			continue
     37  1.1  mrg 		fi
     38  1.1  mrg 		ed - $file > $TMPDIR/tmp.$$ <<!
     39  1.1  mrg 			H
     40  1.1  mrg 			/^\.TH/p
     41  1.1  mrg 			q
     42  1.1  mrg !
     43  1.1  mrg 		loc=`cat $TMPDIR/tmp.$$ | sed "s/.*local.*/local/"`
     44  1.1  mrg 		if test "$loc" = "local"
     45  1.1  mrg 		then
     46  1.1  mrg 			continue
     47  1.1  mrg 		fi
     48  1.1  mrg 		name=`basename $file`
     49  1.1  mrg 		name=`echo $name | sed "s/\.\(.\{1,2\}\)\$/(\1)/"`
     50  1.1  mrg 		ed - $file > $TMPDIR/tmp.$$ <<!
     51  1.1  mrg 			/^.SH NAME/+p
     52  1.1  mrg 			q
     53  1.1  mrg !
     54  1.1  mrg 		desc=`line < $TMPDIR/tmp.$$`
     55  1.1  mrg 		desc=`echo $desc | sed -e "s/.s-1//g" -e "s/.s0//g"  -e "s/.s+1//g"   -e "s/ .- /: /"  -e "s/^/$name /"  -e "s/$/./"`
     56  1.1  mrg 		if test -n "$desc"
     57  1.1  mrg 		then
     58  1.1  mrg 			echo $desc >> $TMPDIR/tocx$1
     59  1.1  mrg 		fi
     60  1.1  mrg 		rm -f $TMPDIR/tmp.$$
     61  1.1  mrg 	done
     62  1.1  mrg else case $1 in
     63  1.1  mrg 	all )
     64  1.1  mrg 		:   tocx files for all sections and everything else
     65  1.1  mrg 
     66  1.1  mrg 		for x in 1 2 3 4 5 6 7 8
     67  1.1  mrg 		do
     68  1.1  mrg 			$0 $p $x $x
     69  1.1  mrg 		done
     70  1.1  mrg 		$0 $p t
     71  1.1  mrg 		;;
     72  1.1  mrg 	t )
     73  1.1  mrg 		:   permuted index and toc files
     74  1.1  mrg 
     75  1.1  mrg 		if test ! -f $TMPDIR/tocx1
     76  1.1  mrg 		then
     77  1.1  mrg 			echo "tocrc: some tocx? files missing"
     78  1.1  mrg 			exit
     79  1.1  mrg 		fi
     80  1.1  mrg 		cat $TMPDIR/tocx? > $TMPDIR/cattoc
     81  1.1  mrg 		ed - $TMPDIR/cattoc <<!
     82  1.1  mrg 			H
     83  1.1  mrg 			g/(1c)/s//(1C)/
     84  1.1  mrg 			g/(1m)/s//(1M)/
     85  1.1  mrg 			g/(1g)/s//(1G)/
     86  1.1  mrg 			g/(3c)/s//(3C)/
     87  1.1  mrg 			g/(3m)/s//(3M)/
     88  1.1  mrg 			g/(3s)/s//(3S)/
     89  1.1  mrg 			g/(3x)/s//(3X)/
     90  1.1  mrg 			g/"\."/d
     91  1.1  mrg 			w
     92  1.1  mrg 			q
     93  1.1  mrg !
     94  1.1  mrg 		ptx -r -t -b $TOOLS/break -f -w $P -i $TOOLS/ignore $TMPDIR/cattoc $MANDIR/man0/ptxx
     95  1.1  mrg 		for x in 1 2 3 4 5 6 7 8
     96  1.1  mrg 		do
     97  1.1  mrg 			ed - $TMPDIR/tocx$x << !
     98  1.1  mrg 			H
     99  1.1  mrg 				/^intro/m0
    100  1.1  mrg 				1,\$s/ .*://
    101  1.1  mrg 				1,\$s/.$//
    102  1.1  mrg 				1,\$s/([1-8][a-z]\{0,1\}) /" "/
    103  1.1  mrg 				1,\$s/.*/.xx "&"/
    104  1.1  mrg 				g/""/d
    105  1.1  mrg 				w $MANDIR/man0/toc$x
    106  1.1  mrg 				q
    107  1.1  mrg !
    108  1.1  mrg 		done
    109  1.1  mrg 		;;
    110  1.1  mrg 	* )
    111  1.1  mrg 		$0 $p $1 $1
    112  1.1  mrg 		;;
    113  1.1  mrg 	esac
    114  1.1  mrg fi
    115