summaryrefslogtreecommitdiff
path: root/man/mkfile
blob: 336c94ab22dd1ad6c7e949daac02a2fa8a26ced7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<../mkconfig
DOC=$ROOT
<$DOC/man/fonts

LIB=$DOC/man/lib

default:V: check

indices:V:
	rfork n
	for (i in [0-9] 10){
		$LIB/secindex $i > $i/INDEX
	}
	mk lookindex


permind:V:
	rm -f $LIB/permind/toc
	{
		echo -n $FONTS
		echo .am TH
		echo .tm '\\$1' '\\$2' '\\n%'
		echo ..
		for (i in [0-9]){
			builtin cd $i
			for(j in [a-z0-9]*)
				switch($i/$j){
				case 1/tbl
					tbl $j
				case 1/eqn 6/auth
					eqn $j
				case 1/pic
					pic $j
				case 1/grap
					grap $j | pic
				case *
					cat $j
				}
			builtin cd ..
		}
		# section 10 is in a special order
		builtin cd 10
		cat 0intro
		cat `{grep -l '^\.TH.*\.1' *}
		cat `{grep -l '^\.TH.*\.2' *}
		cat `{grep -l '^\.TH.*\.6' *}
		cat `{grep -l '^\.TH.*\.8' *}
		builtin cd ..
	} | troff -$MAN > /dev/null >[2] $LIB/permind/toc
	builtin cd $LIB/permind
	rm -f out
	mk out > /dev/null >[2] /dev/null

check:V: checksource
	awk -f $LIB/checkman.awk [0-9]/* | sed '/\/(cda|av|midi|pub|weather|service\.9net|isdn)(\/|\))/d'

checksource:QV:
	sam -d >[2]/dev/null <<'!'
	f input
	< cat [0-9]/[0-9a-z]*
	B output
	b input
	,x/^\.SH SOURCE/ .,/^\.SH/ x g/^\.B/t "output
	b output
	,x/^\.B.? / d
	,x/ .*/d
	,s/.+/if(! test -f $ROOT& \&\& ! test -d $ROOT&) echo no such SOURCE file '&'/g
	,>rc
	!

lookindex:V:
	builtin cd $LIB/lookman
	mkindex


print.out:V: permind
	{
		{echo -n $FONTS; cat $LIB/title} | troff
		{echo -n $FONTS; cat $LIB/trademarks} | troff -ms
		{echo -n $FONTS; echo ' '} | troff
		{echo -n $FONTS; cat $LIB/preface} | troff -ms
		{echo -n $FONTS; echo ' '} | troff
		{
			for (i in [0-9]){
				builtin cd $i
				for(j in [a-z0-9]*)
					switch($i/$j){
					case 1/tbl
						tbl $j
					case 1/eqn 6/auth
						eqn $j
					case 1/pic
						pic $j
					case 1/grap
						grap $j | pic
					case *
						cat $j
					}
				builtin cd ..
			}
			# section 10 is in a special order
			builtin cd 10
			cat 0intro
			cat `{grep -l '^\.TH.*\.1' *}
			cat `{grep -l '^\.TH.*\.2' *}
			cat `{grep -l '^\.TH.*\.6' *}
			cat `{grep -l '^\.TH.*\.8' *}
			builtin cd ..
		} | troff -$MAN
		{echo -n $FONTS; echo ' '} | troff
		{echo -n $FONTS; echo ' '} | troff
		cat $LIB/permind/out
		{echo -n $FONTS; echo ' '} | troff
		{echo -n $FONTS; echo ' '} | troff
		{echo -n $FONTS; cat $LIB/colophon} | troff
	} > print.out

clean:V:
	rm -f man.out