summaryrefslogtreecommitdiff
path: root/sys/doc/mkfile
blob: 0226f35c057f87d1d9a9ed36b69cfb256318b524 (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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Changes made in this directory are invisible to the
# external web server.  To publish changed documents
# to the external web server, mk install or name.install
# To publish changed ps/pdf files, see the install rule.

< /sys/doc/fonts
NPROC = 1

ALL=\
	title\
	trademarks\
	contents\
	9\
	names\
	net/net\
	auth\
	comp\
	prog4\
	ape\
	acidpaper\
	acid\
	mk\
	mkfiles\
	asm\
	8½/8½\
	rc\
	sam/sam\
	acme/acme\
	plumb\
	utf\
	compiler\
	libmach\
	fs/fs\
	venti/venti\
	il/il\
	lexnames\
	sleep\
	lp\
	troff\
	spin\
	port\
	colophon\

ALLPS=${ALL:%=%.ps}
HTML=${ALL:%=%.html} release3.html release4.html
PDF=${ALL:%=%.pdf} release3.pdf release4.pdf
FILES=`{mkfilelist $ALL}
DIRS=`{mkdirlist $ALL}
NAMES=$FILES $DIRS

all:V: ${FILES:%=%.ps} dirs

dirs:V:
	for(i in $DIRS) @{
		cd $i
		mk
	}

print:V: $ALLPS
	lp -H -i0 $prereq

title.ps:D:	title
	troff $prereq | lp -dstdout > $target
	cleanps $target

trademarks.ps:D:	/sys/lib/man/trademarks
	troff $prereq | lp -dstdout > $target
	cleanps $target

colophon.ps:D:	/sys/lib/man/colophon
	troff $prereq | lp -dstdout > $target
	cleanps $target

# troff gets some scary-looking errors but they're okay
%.ps:D:	%.ms
	mac=(-ms)
	if(~ $stem comp utf 9 contents) mac=(-ms -mnihongo)
	{ echo $FONTS; cat $stem.ms } | pic | tbl | eqn | 
		troff $mac | lp -dstdout > $target
	cleanps $target

%.trout:D:	%.ms
	mac=(-ms)
	if(~ $stem comp utf 9 contents) mac=($mac -mnihongo)
	{ echo $FONTS; cat $stem.ms } | pic | tbl | eqn | 
		troff $mac > $target

html:V: $HTML

9.trout 9.ps 9.html: network.pic

%.html: /$objtype/bin/htmlroff /sys/lib/tmac/tmac.s

index.html: contents.html
	cp contents.html index.html

&.html:D:	&.ms
	pic $stem.ms | tbl | eqn | htmlroff -ms -mhtml >$target

pdf:V: $PDF

^(8½|acme|fs|il|net|sam|venti)/([^/]*\.(pdf|ps|html))'$':R:
	cd $stem1
	mk $stem2

^(8½|acme|fs|il|net|sam|venti)\.html'$':R: \1/\1.html
	cp $stem1/$stem1.html .

%.pdf: %.ps
	cat docfonts $stem.ps >_$stem.ps
	# distill _$stem.ps && mv _$stem.pdf $stem.pdf
	ps2pdf _$stem.ps $stem.pdf && rm -f _$stem.ps

%.all:V:
	mk $stem.ps $stem.pdf $stem.html

%.install:V: %.html
	9fs other
	files=`{ls $stem.html $stem^*.png $stem/*.png $stem/*.html >[2]/dev/null}
	whatis stem
	whatis files
	cp $files /n/other/crp/sources.copy/sys/doc

%.page:V:	%.ps
	page -w $stem.ps

install:V: ${NAMES:%=%.install} release4.install release3.install

# ignore these
IGNHTML=title trademarks colophon troff
IGN=${IGNHTML:%=%.html} ${IGNHTML:%=%.install}

$IGN:QV:
	# nothing