# Generates online and print versions of XML source file. BASENAME=leased-line # XML source file. # This file needs to be UTF-8 XML_FILE=${BASENAME}.xml # Stylesheets XML_HTML=/usr/share/xml/docbook/stylesheet/ldp/html/tldp-sections.xsl XML_HTM=/usr/share/xml/docbook/stylesheet/ldp/html/tldp-one-page.xsl # Reduced monospace font size in /usr/share/xml/docbook/stylesheet/nwalsh/fo/param.xsl; # # # # # # 0.8em # XML_PRINT=/usr/share/xml/docbook/stylesheet/ldp/fo/tldp-print.xsl # paper-type set to A4 in /usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbparam.dsl SGML_PRINT=/usr/share/sgml/docbook/stylesheet/dsssl/ldp/ldp.dsl\#print # Generated files. HTML_FILE=${BASENAME}/ HTM_FILE=$(BASENAME).htm TXT_FILE=$(BASENAME).txt FO_FILE=$(BASENAME).fo SGML_FILE=$(BASENAME).sgml TEX_FILE=$(BASENAME).tex RTF_FILE=$(BASENAME).rtf DVI_FILE=$(BASENAME).dvi PS_FILE=$(BASENAME).ps PDF_FILE=$(BASENAME).pdf # Build rules. html: $(HTML_FILE) htm: $(HTM_FILE) txt: $(TXT_FILE) fo: $(FO_FILE) sgml: $(SGML_FILE) tex: $(TEX_FILE) rtf: $(RTF_FILE) dvi: $(DVI_FILE) ps: $(PS_FILE) pdf: $(PDF_FILE) all: html txt pdf ps clean: rm -f $(BASENAME).{htm,log,tex,rtf,aux,dvi,ps,pdf} rm -f ${BASENAME}/*.html distclean: clean rm -f $(BASENAME).tar.gz package: rm -f $(BASENAME).tar.gz ; \ tar cvf $(BASENAME).tar ${BASENAME}/*.html ; \ gzip $(BASENAME).tar ; \ rm -f $(BASENAME).pdf.gz ; \ cp $(BASENAME).pdf tmp/ ; \ gzip tmp/$(BASENAME).pdf ; \ mv tmp/$(BASENAME).pdf.gz . ; \ rm -f $(BASENAME).ps.gz ; \ cp $(BASENAME).ps tmp/ ; \ gzip tmp/$(BASENAME).ps ; \ mv tmp/$(BASENAME).ps.gz . dist: clean package distall: all package # Compile rules. # XML based stuff $(HTML_FILE): $(XML_FILE) # Generate HTML tree xsltproc \ -stringparam chunker.output.encoding UTF-8 \ -o $(HTML_FILE) \ $(XML_HTML) \ $(XML_FILE) # Generate meta-files and Insert doctype into HTML files # Make wants you to fake a single line shell command ! # And vars need double $ ! cd ${BASENAME} ; \ for name in *.html ; \ do \ mv $${name} tmp/ ; \ echo " $${name} ; \ echo " \"http://www.w3.org/TR/html4/loose.dtd\">" >> $${name} ; \ cat tmp/$${name} >> $${name} ; \ rm tmp/$${name} ; \ done ; \ cd .. $(HTM_FILE): $(XML_FILE) # Generate single HTML file xsltproc \ -o $(HTM_FILE) \ $(XML_HTM) \ $(XML_FILE) $(TXT_FILE): $(HTM_FILE) # Use this to create txt file lynx -display_charset=US-ASCII -dump -nolist $(HTM_FILE) > $(TXT_FILE) # Fo # Uses fop $(FO_FILE): $(XML_FILE) xsltproc \ -stringparam draft.mode no \ -stringparam shade.verbatim 0 \ -stringparam paper.type A4 \ -o $(FO_FILE) \ $(XML_PRINT) \ $(XML_FILE) $(PS_FILE): $(FO_FILE) fop -fo $(FO_FILE) -ps $(PS_FILE) $(PDF_FILE): $(FO_FILE) fop $(FO_FILE) $(PDF_FILE) # SGML based stuff # An alternative to fop $(SGML_FILE): $(XML_FILE) # This uses some utils I wrote myself # One removes fake closing tags; to # The other converts UTF-8 to &#ddddd; # so you end up with an ASCII file xml2sgml < $(XML_FILE) | utf2num > $(SGML_FILE) $(TEX_FILE): $(SGML_FILE) jade -t tex -d $(SGML_PRINT) $(SGML_FILE) $(RTF_FILE): $(SGML_FILE) jade -t rtf -d $(SGML_PRINT) $(SGML_FILE) # [pdf]jadetex is run 3 times to resolve references. #$(PDF_FILE): $(TEX_FILE) # pdfjadetex $(TEX_FILE) # pdfjadetex $(TEX_FILE) # pdfjadetex $(TEX_FILE) # This *should* work, but htmldoc has bugs ... #$(PDF_FILE): $(SGML_FILE) # jade -t sgml -V nochunks -d $(DSL_HTML) \ # $(SGML_FILE) | htmldoc -f $(PDF_FILE) - # Have to use ldp_print to work around htmldoc bugs # ldp_print can also do the ps file - see script #$(PDF_FILE): $(HTM_FILE) # ldp_print $(HTM_FILE) $(DVI_FILE): $(TEX_FILE) jadetex $(TEX_FILE) jadetex $(TEX_FILE) jadetex $(TEX_FILE) #$(PS_FILE): $(SGML_FILE) # jade -t sgml -V nochunks -d $(DSL_HTML) \ # $(SGML_FILE) | htmldoc -f $(PS_FILE) - #$(PS_FILE): $(DVI_FILE) # dvips -o $(PS_FILE) $(DVI_FILE) #$(PS_FILE): $(HTM_FILE) # html2ps -Cbh -x2 -o netwerk.ps netwerk.html #$(PDF_FILE): $(PS_FILE) # ps2pdf $(PS_FILE) $(PDF_FILE)