# 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)