xref: /csrg-svn/share/man/man0/tocrc (revision 27961)
1#!/bin/sh -
2#
3# Copyright (c) 1980 Regents of the University of California.
4# All rights reserved.  The Berkeley software License Agreement
5# specifies the terms and conditions for redistribution.
6#
7#	@(#)tocrc	5.1 (Berkeley) 05/11/86
8#
9tmp=/tmp/toc$$
10troff=itroff
11trap "rm $tmp ; exit" 2 3 15
12if [ $# -eq 2 -a $1 = "3" ]
13then
14	: create toc input files for section 3 only
15
16	( cd man3 ; for x in 3 3f 3m 3n 3s 3x 3c
17	    do
18		/usr/lib/getNAME -t *.$x |
19		sed \
20			-e 's/.s-2//g' \
21			-e 's/.s-1//g' \
22			-e 's/.s0//g' \
23			-e 's/.s+1//g' \
24			-e 's/  *.-  */: /' \
25			-e 's/ *$/./' \
26			-e 's/.TH.*	//' \
27		> ../man0/tocx$x
28	    done
29	)
30elif [ $# -eq 2 ]
31then
32	: create toc input file for one section only
33
34	( cd man$1 ; /usr/lib/getNAME -t *.* |
35		sed \
36			-e 's/.s-2//g' \
37			-e 's/.s-1//g' \
38			-e 's/.s0//g' \
39			-e 's/.s+1//g' \
40			-e 's/  *.-  */: /' \
41			-e 's/ *$/./' \
42			-e 's/.TH.*	//' \
43		> ../man0/tocx$1
44	)
45else case $1 in
46	all )
47		:   tocx files for all sections and everything else
48
49		for x in 1 2 3 4 5 6 7 8
50			do
51			./$0 $x $x
52			done
53		./$0 t
54		;;
55	t )
56		:   permuted index and toc files
57
58		if [ ! -f man0/tocx1 ]
59		then
60			echo "tocx* files missing; must run tocrc all first"
61			exit
62		fi
63		sed \
64			-e 's/(1c)/(1C)/' \
65			-e 's/(1g)/(1G)/' \
66			-e 's/(3c)/(3C)/' \
67			-e 's/(3m)/(3M)/' \
68			-e 's/(3s)/(3S)/' \
69			-e 's/(3x)/(3X)/' \
70			-e 's/(3f)/(3F)/' \
71			-e 's/(4f)/(4F)/' \
72			-e 's/(4n)/(4N)/' \
73			-e 's/(4p)/(4P)/' \
74			-e 's/(8c)/(8C)/' \
75			-e 's/(8v)/(8V)/' \
76			-e '/"\."/d' \
77			man0/tocx* man0/cshcmd \
78		> /tmp/cattoc
79
80		ptx -r -t -b break -f -w 108 -i man0/ignore \
81		    /tmp/cattoc man0/ptxx
82
83		for x in 1 2 3 3f 3m 3n 3s 3x 3c 4 5 6 7 8
84		do
85			< man0/tocx$x grep '^intro' >$tmp
86				sed \
87				-e '2,${' \
88				-e '/^intro/d' \
89				-e '}' \
90				-e 's/ .*://' \
91				-e 's/.$//' \
92				-e 's/([^)]*) /" "/' \
93				-e 's/.*/.xx "&"/' \
94				-e '/""/d' \
95				$tmp man0/tocx$x \
96			>man0/toc$x
97		done
98		;;
99	tr )
100		cd man0; $troff ptx.in ; cd ..
101		cd man0 ; $troff toc.in  ; cd ..
102		;;
103	* )
104		./$0 $1 $1
105		;;
106	esac
107fi
108exit
109