# Description: Makefile # Configuration: # document draft version (negative: -1 for draft -00, -2 for draft -01, etc.) # zero for RFC style with XXXX # positive for assigned RFC number RFC = -6 # current draft version suffix (drafts only) VERSION = 05 # previous draft version suffix (for diffs) OLDVERSION = 04 # draft file name (w/o version or file type suffix) FNAME = draft-lilly-using-troff # formatters # for text output: NROFF = groff -C #NROFF = nroff -C #NROFF = nroff # for PostScript TROFF = groff -C #TROFF = troff # formatter device type (-T) for ASCII text output # N.B. Drafts and RFCs use ASCII; # don't specify extended charsets such as iso-8859 variants or utf-8 # N.B. no half-line or reverse-line motions; don't specify lp, 37, or 450 ASCII = ascii # formatter device type (-T) for PostScript output POSTSCRIPT = ps #POSTSCRIPT = post # specification of page sizes in (PostScript) formatter arguments LETTER = -P-pletter #LETTER = A4 = -P-pa4 #A4 = # preprocessors # independent of text vs. PostScript ABNFF = abnff CHEM = chem DFORMAT = dformat GRAP = grap IDREF = idref RFCREF = rfcref SOELIM = soelim # separate text/PostScript versions PIC = pic -n NPIC = pic -n TBL = tbl NTBL = tbl EQN = eqn -T$(POSTSCRIPT) NEQN = neqn -T$(ASCII) # RFC macros: # MACROS can be a -m argument, the name of the macros file, or empty (if .so is used) #MACROS = -mrfc #MACROS = -M. -mrfc MACROS = tmac.rfc #MACROS = MACDIR = /usr/share/groff/site-tmac # other formatter arguments ARGS = # postprocessing # special text postprocessing NPOST = #NPOST = | grotty -f #NPOST = | col -bx | fix.pl # sepcial PostScript postprocessing TPOST = #TPOST = | tr2post | psfonts # PostScript to PDF PS2PDF = ps2pdf # optimize PDF PDFOPT = pdfopt # I-D nits checker IDNITS = idnits # diffs generator RFCDIFF = rfcdiff --diff --body --stdout # end of configuration # (usually) Invariant stuff below this line BASE = $(FNAME)-$(VERSION) OLD = $(FNAME)-$(OLDVERSION) MAKEFILES = Makefile .SUFFIXES: .rfc .df .chem .eqn .grap .ngrap .pic .npic .tbl .ntbl .abnf .nabnf .troff .nroff .ms .tms .txt .ps .pdf .psa4 .pdfa4 .html .rfc.df : if grep "^[.][ ]*[BFRS]R" $< >/dev/null 2>&1 ;\ then $(RFCREF) $< > $@.temp ;\ else cp $< $@.temp ;\ fi if grep "^[.][ ]*DR" $< >/dev/null 2>&1 ;\ then $(IDREF) $@.temp > $@ ;\ else cp $@.temp $@ ;\ fi rm $@.temp .df.chem : if grep "^[.][ ]*begin[ ]*dformat" $< >/dev/null 2>&1 ;\ then $(DFORMAT) $< > $@ ;\ else cp $< $@ ;\ fi .chem.eqn : if grep "^[.][ ]*cstart" $< >/dev/null 2>&1 ;\ then $(CHEM) $< > $@ ;\ else cp $< $@ ;\ fi .eqn.grap : if grep "^[.][ ]*E[QN]" $< >/dev/null 2>&1 ;\ then $(EQN) $< > $@ ;\ else cp $< $@ ;\ fi .eqn.ngrap : if grep "^[.][ ]*E[QN]" $< >/dev/null 2>&1 ;\ then $(NEQN) $< > $@ ;\ else cp $< $@ ;\ fi .ngrap.npic .grap.pic : if grep "^[.][ ]*G[12]" $< >/dev/null 2>&1 ;\ then $(GRAP) $< > $@ ;\ else cp $< $@ ;\ fi .pic.tbl : if grep "^[.][ ]*P[SFE]" $< >/dev/null 2>&1 ;\ then $(PIC) $< > $@ ;\ else cp $< $@ ;\ fi .npic.ntbl : if grep "^[.][ ]*P[SFE]" $< >/dev/null 2>&1 ;\ then $(NPIC) $< > $@ ;\ else cp $< $@ ;\ fi .tbl.abnf : if grep "^[.][ ]*T[SH&E]" $< >/dev/null 2>&1 ;\ then $(TBL) $< > $@ ;\ else cp $< $@ ;\ fi .ntbl.nabnf : if grep "^[.][ ]*T[SH&E]" $< >/dev/null 2>&1 ;\ then $(NTBL) $< > $@ ;\ else cp $< $@ ;\ fi .abnf.troff .nabnf.nroff : if grep "^[.][ ]*A[SE]" $< >/dev/null 2>&1 ;\ then $(ABNFF) $< > $@ ;\ else cp $< $@ ;\ fi .nroff.ms .troff.tms : if grep "^[.][ ]*so" $< >/dev/null 2>&1 ;\ then $(SOELIM) $< > $@ ;\ else cat $(MACDIR)/tmac.rfc $< > $@ ;\ fi .nroff.txt : $(NROFF) -T$(ASCII) -rN$(RFC) $(ARGS) $(MACROS) $< $(NPOST) | awk -f repaginate.awk > $@ .ms.txt : $(NROFF) -T$(ASCII) -rN$(RFC) $(ARGS) $< $(NPOST) | awk -f repaginate.awk > $@ .troff.ps : $(TROFF) -T$(POSTSCRIPT) -rN$(RFC) $(LETTER) $(ARGS) $(MACROS) $< $(TPOST) | awk -f psrenumber.awk > $@.temp sed -e "s/%%EOF/%!Description: PostScript ANSI A version of $(BASE)\n%%EOF/" < $@.temp > $@ rm -f $@.temp .tms.ps : $(TROFF) -T$(POSTSCRIPT) -rN$(RFC) $(LETTER) $(ARGS) $< $(TPOST) | awk -f psrenumber.awk > $@.temp sed -e "s/%%EOF/%!Description: PostScript ANSI A version of $(BASE)\n%%EOF/" < $@.temp > $@ rm -f $@.temp .ps.pdf : $(PS2PDF) -sPAPERSIZE=letter $< $@ sed -e "s,\(^/Creator\),/Subject(Description: PDF ANSI A version of $(BASE))\n\1," < $@ > $@.temp $(PDFOPT) $@.temp $@ rm -f $@.temp .troff.psa4 : $(TROFF) -T$(POSTSCRIPT) -rN$(RFC) $(A4) -rX21c -rZ29.7c -rR2c -rV0.712c $(ARGS) $(MACROS) $< $(TPOST) | awk -f psrenumber.awk > $@.temp sed -e "s/%%EOF/%!Description: PostScript ISO A4 version of $(BASE)\n%%EOF/" < $@.temp > $@ rm -f $@.temp .tms.psa4 : $(TROFF) -T$(POSTSCRIPT) -rN$(RFC) $(A4) -rX21c -rZ29.7c -rR2c -rV0.712c $(ARGS) $< $(TPOST) | awk -f psrenumber.awk > $@.temp sed -e "s/%%EOF/%!Description: PostScript ANSI A version of $(BASE)\n%%EOF/" < $@.temp > $@ rm -f $@.temp .psa4.pdfa4 : $(PS2PDF) -sPAPERSIZE=a4 $< $@ sed -e "s,\(^/Creator\),/Subject(Description: PDF ISO A4 version of $(BASE))\n\1," < $@ > $@.temp $(PDFOPT) $@.temp $@ rm -f $@.temp .txt.html : echo '' > $@ echo ' ' >> $@ echo '' >> $@ echo '
' >> $@ sed -f htmlize.sed < $< >> $@ echo '' >> $@ echo '' >> $@ echo ' ' >> $@ rfc : $(BASE).txt $(BASE).ps $(BASE).pdf $(BASE).psa4 $(BASE).pdfa4 $(BASE).html diffs nits if test $(RFC) -eq 0 ;\ then for suf in txt ps pdf psa4 pdfa4 html ;\ do cp $(BASE).$$suf $@XXXX.$$suf ;\ done ;\ fi if test $(RFC) -gt 0 ;\ then for suf in txt ps pdf psa4 pdfa4 html ;\ do cp $(BASE).$$suf $@$(RFC).$$suf ;\ done ;\ fi nits : $(BASE).txt if test $(RFC) -lt 0 ; then $(IDNITS) $? ; fi diffs : $(BASE).diffs $(BASE).diffs : $(BASE).txt if test $(VERSION) -gt 0 -a -f $(OLD).txt ;\ then $(RFCDIFF) $(OLD).txt $(BASE).txt > $@ ;\ fi diffs : $(BASE).diffs $(BASE).txt $(BASE).ps $(BASE).psa4 : $(MAKEFILES) $(BASE).txt $(OLD).txt : repaginate.awk $(BASE).ps $(BASE).psa4 $(OLD).ps $(OLD).psa4 : psrenumber.awk $(BASE).html : $(BASE).txt htmlize.sed $(BASE).pdf : $(BASE).ps $(BASE).pdfa4 : $(BASE).psa4 $(OLD).html : $(OLD).txt htmlize.sed $(OLD).pdf : $(OLD).ps $(OLD).pdfa4 : $(OLD).psa4