diff --git a/doc/Makefile b/doc/Makefile index de9e8373..423ffdca 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,31 +1,50 @@ +# build asciidoc books + +ifdef BUILDDIR +DEST = -D "$(BUILDDIR)" +endif + +ifdef DEBUG +VERBOSE = --verbose +endif + PROJECT = mkimage-profiles -TOPLEVEL_DOC = mkimage-profiles.asciidoc -HTMLPAGE = $(TOPLEVEL_DOC:.asciidoc=.html) +TOPLEVEL_DOC = $(PROJECT).asciidoc RESOURCE_FILES = /etc/asciidoc A2X = a2x +FXC = .fop.xconf -.PHONY: all clean +L = ru +DEPTH = 3 -all: $(HTMLPAGE) +# common args (and the source file to process) come last +XSLT_ARGS = --stringparam toc.max.depth $(DEPTH) +COMMON_ARGS = -d book -a lang="$L" $(DEST) $(VERBOSE) $(TOPLEVEL_DOC) +HTML_ARGS = -a data-uri --icons -r $(RESOURCE_FILES) -r . \ + --xsltproc-opts='$(XSLT_ARGS)' $(COMMON_ARGS) -%.html: %.asciidoc - $(A2X) -d book -f xhtml -a lang=ru \ - --icons -r $(RESOURCE_FILES) -r . \ - --xsltproc-opts='--stringparam toc.max.depth 3' \ - $< +.PHONY: all prep chunked xhtml pdf clean -chunked: $(TOPLEVEL_DOC) - $(A2X) -d book -f chunked -a lang=ru \ - --icons -r $(RESOURCE_FILES) -r . \ - --xsltproc-opts='--stringparam toc.max.depth 3' \ - $< +all: chunked xhtml pdf -pdf: $(TOPLEVEL_DOC) - $(A2X) --verbose --fop --fop-opts='-c .fop.xconf' -d book -f pdf -a lang=ru \ - --xsltproc-opts=' \ - --stringparam toc.max.depth 3 \ - --stringparam title.font.family "DejaVu Sans" \ - --stringparam body.font.family "DejaVu Serif" \ - --stringparam monospace.font.family "DejaVu Sans Mono"' \ - $< +prep: + @if [ -n "$(BUILDDIR)" ]; then mkdir -p "$(BUILDDIR)"; fi + +chunked xhtml: prep + @echo "** building $@ book" + @$(A2X) -f $@ $(HTML_ARGS) + +pdf: prep + @echo "** building $@ book" + @$(A2X) --xsltproc-opts='$(XSLT_ARGS) \ + --stringparam title.font.family "DejaVu Sans" \ + --stringparam body.font.family "DejaVu Serif" \ + --stringparam monospace.font.family "DejaVu Sans Mono"' \ + --fop --fop-opts='-c $(FXC)' -f pdf $(COMMON_ARGS) + +clean: + @echo "** cleaning up" + @if [ -d "$(BUILDDIR)" ]; then cd "$(BUILDDIR)"; fi; \ + rm -f $(PROJECT).pdf $(PROJECT).html docbook-xsl.css; \ + rm -rf $(PROJECT).chunked/