# Makefile for converting a Docbook-XML file into an HTML or PDF document. # (C) Copyright 2004, Brian Enigma # Licensed under the Creative Commons Attribution-ShareAlike License # (http://creativecommons.org/licenses/by-sa/2.0/) # Change these to reflect your input/output files INFILE=How_to_make_updates.xml OUTFILE_HTML=How_to_make_updates.html TEMP_FO=How_to_make_updates.fo OUTFILE_PDF=How_to_make_updates.pdf # You should not need to change these unless you are using a newer version # of something or have moved the download location DOWNLOAD_XSL=http://10.1.1.1/docbook-xsl-1.65.1.tar.gz DOWNLOAD_FOP=http://10.1.1.1/fop-0.20.5-bin.tar.gz XSL_ARCHIVE=docbook-xsl-1.65.1.tar.gz FOP_ARCHIVE=fop-0.20.5-bin.tar.gz XSL_FOLDER=docbook-xsl-1.65.1 FOP_FOLDER=fop-0.20.5 # Build rules .PHONY: help help: @echo "The supported output formats are:" @echo " make html" @echo " make pdf" .PHONY: clean clean: rm -rf $(XSL_FOLDER) $(FOP_FOLDER) rm -f $(XSL_ARCHIVE) $(FOP_ARCHIVE) $(OUTFILE_HTML) $(OUTFILE_PDF) $(TEMP_FO) html: $(OUTFILE_HTML) $(OUTFILE_HTML): $(INFILE) $(XSL_FOLDER) .checkxsl @echo "" @echo "#####" @echo "# Building HTML document version" @echo "#####" @echo "" xsltproc $(XSL_FOLDER)/html/docbook.xsl $(INFILE) > $(OUTFILE_HTML) pdf: $(OUTFILE_PDF) $(OUTFILE_PDF): $(TEMP_FO) @echo "" @echo "#####" @echo "# Building PDF document version" @echo "#####" @echo "" ./$(FOP_FOLDER)/fop.sh $(TEMP_FO) $(OUTFILE_PDF) $(TEMP_FO): $(INFILE) $(XSL_FOLDER) $(FOP_FOLDER) .checkxsl @echo "" @echo "#####" @echo "# Building temporary XML-FO version" @echo "#####" @echo "" xsltproc $(XSL_FOLDER)/fo/docbook.xsl $(INFILE) > $(TEMP_FO) $(XSL_FOLDER): $(XSL_ARCHIVE) @echo "" @echo "#####" @echo "# Extracting dependency" @echo "#####" @echo "" tar -zxf $(XSL_ARCHIVE) touch $(XSL_FOLDER) $(FOP_FOLDER): $(FOP_ARCHIVE) @echo "" @echo "#####" @echo "# Extracting dependency" @echo "#####" @echo "" tar -zxf $(FOP_ARCHIVE) touch $(FOP_FOLDER) $(XSL_ARCHIVE): .wgetcheck @echo "" @echo "#####" @echo "# Downloading Docbook-XSL dependency" @echo "#####" @echo "" wget -O $(XSL_ARCHIVE) $(DOWNLOAD_XSL) touch $(XSL_ARCHIVE) $(FOP_ARCHIVE): .wgetcheck @echo "" @echo "#####" @echo "# Downloading XSL-FO dependency" @echo "#####" @echo "" wget -O $(FOP_ARCHIVE) $(DOWNLOAD_FOP) touch $(FOP_ARCHIVE) # Dependency check rules .wgetcheck: @CHECKPATH=`which wget`; \ if [ "$$CHECKPATH" == "" ]; then \ echo ""; \ echo ""; \ echo "You need the 'wget' command installed"; \ echo "(This is a standard RedHat and Cygwin utility)"; \ echo ""; \ exit 1; \ fi @echo "Good. It looks like you have 'wget' installed" @touch .wgetcheck .checkxsl: @CHECKPATH=`which xsltproc`; \ if [ "$$CHECKPATH" == "" ]; then \ echo ""; \ echo ""; \ echo "You need the 'xsltproc' command installed"; \ echo "(This is part of libxml and should be a standard RedHat and Cygwin)"; \ echo ""; \ exit 1; \ fi @echo "Good. It looks like you have 'wget' installed" @touch .checkxsl