#
#
OUT_DIR = /tmp
PRINTER = -Plbp1
MACROS = -ms
TROFF = ditroff
TOCS = toc1 toc2 toc3 toc3f toc4 toc5 toc6 toc7 toc8 \
       tocx1 tocx2 tocx3 tocx3f tocx4 tocx5 tocx6 tocx7 tocx8

.SUFFIXES: .out .ls

all: cover man1 man2 man3 man3X man4 man5 man6 man7 man8 manl mann mano manp mans

cover: title.out preface.out intro.out toc.out ptx.out

title.out: title
	${TROFF} -t title > ${OUT_DIR}/title.out

preface.out: preface.ms
	${TROFF} ${MACROS} -t preface.ms > ${OUT_DIR}/preface.out

intro.out: intro.ms
	${TROFF} ${MACROS} -t intro > ${OUT_DIR}/intro.out

toc.out: toc.in ptxx
	${TROFF} -t toc.in > ${OUT_DIR}/toc.out

ptx.out: ptx.in ptxx
	${TROFF} -t ptx.in > ${OUT_DIR}/ptx.out

ptxx:
	tocrc cover
	tocrc t

man1: man1.ls man1.out
man1.ls: 
	ls /usr/man/man1/*.* > man1.ls

man2: man2.ls man2.out
man2.ls: 
	ls /usr/man/man2/*.* > man2.ls

man3: man3.ls man3.out
	rm -f man3A.ls
man3.ls: 
	ls /usr/man/man3/*.3 > man3.ls
	ls /usr/man/man3/*.3[a-w,y-z,A-W,Y-Z] > man3A.ls
	cat man3.ls man3A.ls | sort > man3.ls

man3X: man3X.ls man3X.out
	rm -f man3X*.ls cat.3X
man3X.ls: 
	ls /usr/man/man3/*.3Xt > man3XT.ls
	ls /usr/man/man3/*.3Xm > man3XM.ls
	ls /usr/man/man3/*.3X11 > man3X11.ls
	ls /usr/man/man3/*.3x > man3X.ls
	cat man3XT.ls man3XM.ls man3X11.ls man3X.ls | sort > man3X.ls
	head -150 man3X.ls > man3Xaa.ls
	head -300 man3X.ls | tail -150 > man3Xab.ls
	head -450 man3X.ls | tail -150 > man3Xac.ls
	head -600 man3X.ls | tail -150 > man3Xad.ls
	head -750 man3X.ls | tail -150 > man3Xae.ls
	tail +750 man3X.ls > man3Xaf.ls
	
man4: man4.ls man4.out
man4.ls: 
	ls /usr/man/man4/*.* > man4.ls

man5: man5.ls man5.out
man5.ls: 
	ls /usr/man/man5/*.* > man5.ls

man6: man6.ls man6.out
man6.ls: 
	ls /usr/man/man6/*.* > man6.ls

man7: man7.ls man7.out
man7.ls: 
	ls /usr/man/man7/*.* > man7.ls

man8: man8.ls man8.out
man8.ls: 
	ls /usr/man/man8/*.* > man8.ls

manl: manl.ls manl.out
manl.ls: 
	ls /usr/man/manl/*.* > manl.ls

mann: mann.ls mann.out
mann.ls: 
	ls /usr/man/mann/*.* > mann.ls

mano: mano.ls mano.out
mano.ls: 
	ls /usr/man/mano/*.* > mano.ls

manp: manp.ls manp.out
manp.ls: 
	ls /usr/man/manp/*.* > manp.ls

mans: mans.ls mans.out
mans.ls: 
	ls /usr/man/mans/*.* > mans.ls

.ls.out:
	sh output $* > ${OUT_DIR}/$@
	rm -f $<

print: all
	lpr ${PRINTER} -n ${OUT_DIR}/title.out
	lpr ${PRINTER} -n ${OUT_DIR}/preface.out
	lpr ${PRINTER} -n ${OUT_DIR}/intro.out
	lpr ${PRINTER} -n ${OUT_DIR}/toc.out
	lpr ${PRINTER} -n ${OUT_DIR}/ptx.out
	lpr ${PRINTER} -n ${OUT_DIR}/man1.out
	lpr ${PRINTER} -n ${OUT_DIR}/man2.out
	lpr ${PRINTER} -n ${OUT_DIR}/man3.out
	lpr ${PRINTER} -n ${OUT_DIR}/man4.out
	lpr ${PRINTER} -n ${OUT_DIR}/man5.out
	lpr ${PRINTER} -n ${OUT_DIR}/man6.out
	lpr ${PRINTER} -n ${OUT_DIR}/man7.out
	lpr ${PRINTER} -n ${OUT_DIR}/man8.out
	lpr ${PRINTER} -n ${OUT_DIR}/manl.out
	lpr ${PRINTER} -n ${OUT_DIR}/mann.out
	lpr ${PRINTER} -n ${OUT_DIR}/mano.out
	lpr ${PRINTER} -n ${OUT_DIR}/manp.out
	lpr ${PRINTER} -n ${OUT_DIR}/mans.out

clean:
	rm -f ${OUT_DIR}/*.out ./*.ls* ${TOCS} ptxx
