comparison makefile @ 151:ff3a6a0e6255

Added system for references within the document. Macros: .Id and .Cf. ``.Id foo'' places a marker at that place. ``.Cf foo'' puts the section number of the marked place there. ``.Cf foo.page'' puts the page number of the marked place there.
author markus schnalke <meillo@marmaro.de>
date Fri, 06 Jul 2012 14:59:08 +0200
parents 472aa79f9b6f
children db199d51d5b0
comparison
equal deleted inserted replaced
150:472aa79f9b6f 151:ff3a6a0e6255
5 PDFFLAGS = -sPAPERSIZE=a4 -dPDFSETTINGS=/prepress 5 PDFFLAGS = -sPAPERSIZE=a4 -dPDFSETTINGS=/prepress
6 REFER = refer -n -p bib -p rfcs -e -P -sLAD -l,2 -k 6 REFER = refer -n -p bib -p rfcs -e -P -sLAD -l,2 -k
7 7
8 all: $(NAME).ps 8 all: $(NAME).ps
9 9
10 $(NAME).ps: $(CHAPS) makefile bib rfcs toc.ig 10 $(NAME).ps: $(CHAPS) makefile bib rfcs toc.ig refs
11 export TROFFONTS=fonts;\ 11 export TROFFONTS=fonts;\
12 soelim $(CHAPS) | $(REFER) | \ 12 soelim $(CHAPS) | $(REFER) | \
13 grap | pic | troff -Tps -ms 2>err.ig | dpost >$@ 13 grap | pic | troff -Tps -ms 2>err.ig | dpost >$@
14 14
15 err.ig: $(CHAPS) 15 err.ig: $(CHAPS)
17 soelim $(CHAPS) | $(REFER) | \ 17 soelim $(CHAPS) | $(REFER) | \
18 grap | pic | troff -Tps -ms -rZ1 -z 2>$@ 18 grap | pic | troff -Tps -ms -rZ1 -z 2>$@
19 19
20 toc.ig: err.ig 20 toc.ig: err.ig
21 sed -n '/^TOC____/s///p' err.ig >$@ 21 sed -n '/^TOC____/s///p' err.ig >$@
22
23 refs: err.ig
24 awk '/^REF____/{ \
25 sub(/^REF____/,""); \
26 printf $$2 >"refs/"$$1; close("refs/$$1"); \
27 printf $$3 >"refs/"$$1".page"; close("refs/$$1.page");\
28 }' err.ig
22 29
23 pdf: $(NAME).pdf 30 pdf: $(NAME).pdf
24 $(NAME).pdf: $(NAME).ps 31 $(NAME).pdf: $(NAME).ps
25 ps2pdf $(PDFFLAGS) $(NAME).ps 2>/dev/null 32 ps2pdf $(PDFFLAGS) $(NAME).ps 2>/dev/null
26 33
30 book.ps: $(NAME).ps 37 book.ps: $(NAME).ps
31 psbook -s16 $(NAME).ps | psnup -2 -m2mm >$@ 38 psbook -s16 $(NAME).ps | psnup -2 -m2mm >$@
32 39
33 clean: 40 clean:
34 rm -f $(NAME).ps $(NAME).pdf book.ps book.pdf 41 rm -f $(NAME).ps $(NAME).pdf book.ps book.pdf
42 rm -f refs/*
35 rm -f *.ig 43 rm -f *.ig
36 44
37 spell: 45 spell:
38 sort -u -o terms terms 46 sort -u -o terms terms
39 spell +terms *.roff | egrep -v '[0-9a-f]{40}' 47 spell +terms *.roff | egrep -v '[0-9a-f]{40}'