include $(repo_dir)/releasetools/Variables.mk XJPARSEFLAGS= -E 0 -w FO_BUILDER=saxon XSLTOPT= PROCOPT= XEP=xep XEPFLAGS= -valid -quiet # TXT_MAKER is the Web browser to use for dumping a text version # of the reference docs; text output from w3m looks better than # that from elinks or lynx; but w3m sometimes hangs unexpectedly # under OSX; setting GC_NPROCS=1 prevents it from hanging TXT_MAKER = GC_NPROCS=1 w3m TXT_MAKER_FLAGS = -dump XMLID_TO_ID=../tools/xsl/build/xmlid-to-id.xsl GZIP=gzip GZIPFLAGS= HTMLMANIFEST=HTML.manifest PARAM_DIRS=html fo manpages roundtrip slides/fo slides/xhtml website PI_DIRS=html fo common PARAM_XML_FILES=$(foreach format,$(PARAM_DIRS),../$(format)/param.xml) PI_XML_FILES=$(foreach format,$(PI_DIRS),../$(format)/pi.xml) OTHER_XML_FILES=../common/common.xml ../common/utility.xml ../common/refentry.xml ../common/charmap.xml ../template/titlepage.xml ../fo/table.xml DOC_SOURCE_XML_FILES=$(PARAM_XML_FILES) $(PI_XML_FILES) $(OTHER_XML_FILES) DIRS=common fo html lib manpages pi refentry roundtrip slides template utility website .PHONY : clean # rule for building file with includes resolved; uses hacky # stylesheet to transform all @xml:id instances to @id instances; # otherwise, xsltproc reports duplicate ID errors... %.included: % $(XINCLUDE) $< > $@.tmp $(repo_dir)/buildtools/saxon $@.tmp $(XMLID_TO_ID) > $@ $(RM) $@.tmp # build reference.pdf.gz except for snapshot and "-pre" releases ifeq (snapshot,$(findstring snapshot,$(RELVER))) all: fo/page.png reference.html reference.css reference.txt.gz else ifeq (-pre,$(findstring -pre,$(RELVER))) all: fo/page.png reference.html reference.css reference.txt.gz else all: fo/page.png reference.html reference.css reference.txt.gz #reference.pdf.gz endif endif index.html: ../docsrc/reference.xml.included $(RSTYLE) $(DOC_SOURCE_XML_FILES) $(XSLT) $< $(RSTYLE) reference.html: index.html cp -p $< $@ reference.css: ../docsrc/reference.css cp -p $< . for dir in $(DIRS); do cp -p $< $$dir; done reference.fo: ../docsrc/reference.xml.included $(REFERENCEFOXSL) fo/page.png $(DOC_SOURCE_XML_FILES) $(repo_dir)/buildtools/xslt -$(FO_BUILDER) $< $(REFERENCEFOXSL) > $@ reference.pdf: reference.fo ifeq ($(PDF_MAKER),dblatex) -$(DBLATEX) $(DBLATEXFLAGS) \ -p $(DBX_STYLE) \ -o $@ \ $< else ifeq ($(PDF_MAKER),xep) $(XEP) $(XEPFLAGS) $< endif endif reference.txt.html: ../docsrc/reference.xml.included $(REFERENCETXTXSL) $(DOC_SOURCE_XML_FILES) $(XSLT) $< $(REFERENCETXTXSL) > $@ reference.txt: reference.txt.html $(TXT_MAKER) $(TXT_MAKER_FLAGS) $< > $@ reference.pdf.gz: reference.pdf cat $< | $(GZIP) $(GZIPFLAGS) > $@ reference.txt.gz: reference.txt cat $< | $(GZIP) $(GZIPFLAGS) > $@ fo/page.png: ../docsrc/page.png cp -p $< $@ clean: $(RM) reference.css for dir in $(DIRS); do $(RM) $$dir/reference.css; done $(RM) reference.html $(RM) reference.txt.html $(RM) reference.fo $(RM) reference.pdf $(RM) reference.pdf.gz $(RM) reference.txt.gz $(RM) reference.txt $(RM) fo/page.png $(RM) ../docsrc/reference.xml.included if [ -f $(HTMLMANIFEST) ]; then for file in $$(cat $(HTMLMANIFEST)); do $(RM) $$file; done; fi $(RM) $(HTMLMANIFEST)