xref: /csrg-svn/share/man/man0/tocrc (revision 27961)
127960Smckusick#!/bin/sh -
227960Smckusick#
327960Smckusick# Copyright (c) 1980 Regents of the University of California.
427960Smckusick# All rights reserved.  The Berkeley software License Agreement
527960Smckusick# specifies the terms and conditions for redistribution.
627960Smckusick#
7*27961Smckusick#	@(#)tocrc	5.1 (Berkeley) 05/11/86
827960Smckusick#
927960Smckusicktmp=/tmp/toc$$
10*27961Smckusicktroff=itroff
1127960Smckusicktrap "rm $tmp ; exit" 2 3 15
12*27961Smckusickif [ $# -eq 2 -a $1 = "3" ]
1327960Smckusickthen
14*27961Smckusick	: create toc input files for section 3 only
15*27961Smckusick
16*27961Smckusick	( cd man3 ; for x in 3 3f 3m 3n 3s 3x 3c
17*27961Smckusick	    do
18*27961Smckusick		/usr/lib/getNAME -t *.$x |
19*27961Smckusick		sed \
20*27961Smckusick			-e 's/.s-2//g' \
21*27961Smckusick			-e 's/.s-1//g' \
22*27961Smckusick			-e 's/.s0//g' \
23*27961Smckusick			-e 's/.s+1//g' \
24*27961Smckusick			-e 's/  *.-  */: /' \
25*27961Smckusick			-e 's/ *$/./' \
26*27961Smckusick			-e 's/.TH.*	//' \
27*27961Smckusick		> ../man0/tocx$x
28*27961Smckusick	    done
29*27961Smckusick	)
30*27961Smckusickelif [ $# -eq 2 ]
31*27961Smckusickthen
3227960Smckusick	: create toc input file for one section only
3327960Smckusick
3427960Smckusick	( cd man$1 ; /usr/lib/getNAME -t *.* |
3527960Smckusick		sed \
36*27961Smckusick			-e 's/.s-2//g' \
3727960Smckusick			-e 's/.s-1//g' \
3827960Smckusick			-e 's/.s0//g' \
3927960Smckusick			-e 's/.s+1//g' \
4027960Smckusick			-e 's/  *.-  */: /' \
41*27961Smckusick			-e 's/ *$/./' \
4227960Smckusick			-e 's/.TH.*	//' \
4327960Smckusick		> ../man0/tocx$1
4427960Smckusick	)
4527960Smckusickelse case $1 in
4627960Smckusick	all )
4727960Smckusick		:   tocx files for all sections and everything else
4827960Smckusick
4927960Smckusick		for x in 1 2 3 4 5 6 7 8
5027960Smckusick			do
5127960Smckusick			./$0 $x $x
5227960Smckusick			done
5327960Smckusick		./$0 t
5427960Smckusick		;;
5527960Smckusick	t )
5627960Smckusick		:   permuted index and toc files
5727960Smckusick
5827960Smckusick		if [ ! -f man0/tocx1 ]
5927960Smckusick		then
60*27961Smckusick			echo "tocx* files missing; must run tocrc all first"
6127960Smckusick			exit
6227960Smckusick		fi
6327960Smckusick		sed \
6427960Smckusick			-e 's/(1c)/(1C)/' \
6527960Smckusick			-e 's/(1g)/(1G)/' \
6627960Smckusick			-e 's/(3c)/(3C)/' \
6727960Smckusick			-e 's/(3m)/(3M)/' \
6827960Smckusick			-e 's/(3s)/(3S)/' \
69*27961Smckusick			-e 's/(3x)/(3X)/' \
70*27961Smckusick			-e 's/(3f)/(3F)/' \
71*27961Smckusick			-e 's/(4f)/(4F)/' \
72*27961Smckusick			-e 's/(4n)/(4N)/' \
73*27961Smckusick			-e 's/(4p)/(4P)/' \
74*27961Smckusick			-e 's/(8c)/(8C)/' \
75*27961Smckusick			-e 's/(8v)/(8V)/' \
7627960Smckusick			-e '/"\."/d' \
77*27961Smckusick			man0/tocx* man0/cshcmd \
7827960Smckusick		> /tmp/cattoc
7927960Smckusick
8027960Smckusick		ptx -r -t -b break -f -w 108 -i man0/ignore \
8127960Smckusick		    /tmp/cattoc man0/ptxx
8227960Smckusick
83*27961Smckusick		for x in 1 2 3 3f 3m 3n 3s 3x 3c 4 5 6 7 8
8427960Smckusick		do
8527960Smckusick			< man0/tocx$x grep '^intro' >$tmp
8627960Smckusick				sed \
8727960Smckusick				-e '2,${' \
8827960Smckusick				-e '/^intro/d' \
8927960Smckusick				-e '}' \
9027960Smckusick				-e 's/ .*://' \
9127960Smckusick				-e 's/.$//' \
9227960Smckusick				-e 's/([^)]*) /" "/' \
9327960Smckusick				-e 's/.*/.xx "&"/' \
9427960Smckusick				-e '/""/d' \
9527960Smckusick				$tmp man0/tocx$x \
9627960Smckusick			>man0/toc$x
9727960Smckusick		done
9827960Smckusick		;;
9927960Smckusick	tr )
10027960Smckusick		cd man0; $troff ptx.in ; cd ..
10127960Smckusick		cd man0 ; $troff toc.in  ; cd ..
10227960Smckusick		;;
10327960Smckusick	* )
10427960Smckusick		./$0 $1 $1
10527960Smckusick		;;
10627960Smckusick	esac
10727960Smckusickfi
10827960Smckusickexit
109