docs/master

annotate 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
rev   line source
meillo@0 1 NAME = thesis
meillo@79 2 CHAPS = style front.roff dedication.roff abstract.roff toc.roff \
meillo@147 3 preface.roff intro.roff discussion.roff future.roff refs.roff \
meillo@147 4 official.roff colophon.roff
meillo@0 5 PDFFLAGS = -sPAPERSIZE=a4 -dPDFSETTINGS=/prepress
meillo@150 6 REFER = refer -n -p bib -p rfcs -e -P -sLAD -l,2 -k
meillo@0 7
meillo@0 8 all: $(NAME).ps
meillo@0 9
meillo@151 10 $(NAME).ps: $(CHAPS) makefile bib rfcs toc.ig refs
meillo@150 11 export TROFFONTS=fonts;\
meillo@150 12 soelim $(CHAPS) | $(REFER) | \
meillo@92 13 grap | pic | troff -Tps -ms 2>err.ig | dpost >$@
meillo@79 14
meillo@79 15 err.ig: $(CHAPS)
meillo@150 16 export TROFFONTS=fonts;\
meillo@150 17 soelim $(CHAPS) | $(REFER) | \
meillo@92 18 grap | pic | troff -Tps -ms -rZ1 -z 2>$@
meillo@79 19
meillo@79 20 toc.ig: err.ig
meillo@113 21 sed -n '/^TOC____/s///p' err.ig >$@
meillo@0 22
meillo@151 23 refs: err.ig
meillo@151 24 awk '/^REF____/{ \
meillo@151 25 sub(/^REF____/,""); \
meillo@151 26 printf $$2 >"refs/"$$1; close("refs/$$1"); \
meillo@151 27 printf $$3 >"refs/"$$1".page"; close("refs/$$1.page");\
meillo@151 28 }' err.ig
meillo@151 29
meillo@0 30 pdf: $(NAME).pdf
meillo@0 31 $(NAME).pdf: $(NAME).ps
meillo@115 32 ps2pdf $(PDFFLAGS) $(NAME).ps 2>/dev/null
meillo@0 33
meillo@0 34 book: book.pdf
meillo@0 35 book.pdf: book.ps
meillo@115 36 ps2pdf $(PDFFLAGS) book.ps 2>/dev/null
meillo@0 37 book.ps: $(NAME).ps
meillo@0 38 psbook -s16 $(NAME).ps | psnup -2 -m2mm >$@
meillo@0 39
meillo@0 40 clean:
meillo@0 41 rm -f $(NAME).ps $(NAME).pdf book.ps book.pdf
meillo@151 42 rm -f refs/*
meillo@79 43 rm -f *.ig
meillo@111 44
meillo@111 45 spell:
meillo@121 46 sort -u -o terms terms
meillo@111 47 spell +terms *.roff | egrep -v '[0-9a-f]{40}'