|
@@ -0,0 +1,193 @@
|
|
|
+# This variable contains a list of docbook sources separated by white space to
|
|
|
+# be processed by the docbook build system if the user did not specify any
|
|
|
+# document on the command line. Documents configure here are processed one
|
|
|
+# after another, each of them will be treated as a standalone documentation
|
|
|
+# file.
|
|
|
+docs ?= index.xml
|
|
|
+
|
|
|
+# Here you can specify the name of the file that will be used to generate a
|
|
|
+# module README file. You can override it in a module Makefile. This is
|
|
|
+# useful, for example, if you want to use a different docbook file to generate
|
|
|
+# README and a different docbook file to generate documentation in other
|
|
|
+# formats (HTML, TXT). If you omit this variable in your Makefile then the
|
|
|
+# first document specified in DOCS is used to generate module README file.
|
|
|
+readme_docs ?= $(docs)
|
|
|
+
|
|
|
+# This is the list of docbook files to be used to generate HTML
|
|
|
+# documentation. You can use this variable in your Makefile if you have
|
|
|
+# docbook documents that should be processed only when HTML documentation is
|
|
|
+# being generated (i.e. you want them to be ignored when plain-text
|
|
|
+# documentation is being generated). Multiple documents separated by white
|
|
|
+# space can be configured here and they will be processed one after
|
|
|
+# another. If you omit this variable then the documents specified in DOCS
|
|
|
+# variable will be converted to HTML when HTML documentation is being built.
|
|
|
+html_docs ?= $(docs)
|
|
|
+
|
|
|
+# This is the list of docbook files to be used to generate plain-text
|
|
|
+# documentation. You can use this variable in your Makefile if you have
|
|
|
+# docbook documents that should be processed only when plain-textdocumentation
|
|
|
+# is being generated (i.e. you want them to be ignored when HTML documentation
|
|
|
+# is being generated). Multiple documents separated by white space can be
|
|
|
+# configured here and they will be processed one after another. If you omit
|
|
|
+# this variable then the documents specified in DOCS variable will be
|
|
|
+# converted to plain-text when plain-text documentation is being built.
|
|
|
+txt_docs ?= $(docs)
|
|
|
+
|
|
|
+# Output directory where files produced by XSL stylesheets should be stored,
|
|
|
+# by default we output to the same directory, documents that are chunked may
|
|
|
+# choose to override this to write all chunks in a subdirectory instead.
|
|
|
+output_dir ?= .
|
|
|
+
|
|
|
+# Here you can configure the path to the directory which contains all
|
|
|
+# auxiliary files that are needed to convert docbook documentation to other
|
|
|
+# formats. You should not need to use this variable under normal
|
|
|
+# circumstances.
|
|
|
+docbook_dir ?= ../../../docbook
|
|
|
+COREPATH ?= $(docbook_dir)/..
|
|
|
+
|
|
|
+# This is the stylesheet used to generate a list of dependencies for a docbook
|
|
|
+# source file. The stylesheet walks through the document and prints all files
|
|
|
+# that are included in the document. The list of files is then written in a
|
|
|
+# standalone file by this Makefile and the file can be included by the
|
|
|
+# Makefile.
|
|
|
+dep_xsl ?= $(docbook_dir)/dep.xsl
|
|
|
+
|
|
|
+# This is the stylesheet that is used to produce a single HTML file for every
|
|
|
+# docbook document being processed. This stylesheet contains configuration for
|
|
|
+# docbook XSL scripts that only applies when the build system generates a
|
|
|
+# single HTML file.
|
|
|
+single_html_xsl ?= $(docbook_dir)/html.xsl
|
|
|
+
|
|
|
+# This stylesheet is used to produce chunked HTML documention, the output will
|
|
|
+# be a set of HTML files. This stylesheet contains configuration for docbook
|
|
|
+# XSL scripts that only applies when multiple-file HTML documentation is being
|
|
|
+# generated.
|
|
|
+chunked_html_xsl ?= $(chunked_html_xls)/html.chunked.xsl
|
|
|
+
|
|
|
+# This stylesheet is used to produce plain-text documentation. Internally this
|
|
|
+# stylesheet includes the docbook XSL stylesheet used to produce single-file
|
|
|
+# HTML documentation and the output is then converted by lynx to a plain-text
|
|
|
+# file.
|
|
|
+txt_xsl ?= $(docbook_dir)/txt.xsl
|
|
|
+
|
|
|
+# This stylesheet is used when the docbook build system generates a module
|
|
|
+# README. The process is similar to the process of generating plain-text file,
|
|
|
+# but we use a separate stylesheet here because the configuration of docbook
|
|
|
+# XSL stylesheets can be a bit different for READMEs (i.e. we do not want to
|
|
|
+# have list of examples in READMES, etc.)
|
|
|
+readme_xsl ?= $(docbook_dir)/readme.xsl
|
|
|
+
|
|
|
+# Use this configuration variable to enable or disable docbook document
|
|
|
+# validation before the build system converts the document into another
|
|
|
+# format.
|
|
|
+validate ?= 0
|
|
|
+
|
|
|
+# A list of CSS stylesheets separated by whitespace to be included in HTML
|
|
|
+# files.
|
|
|
+html_css ?= /css/sr-doc.css
|
|
|
+
|
|
|
+# This is the catalog file used by xsltproc to locate docbook schema files
|
|
|
+# needed to validate docbook documents and docbook XSL stylesheets needed
|
|
|
+# convert docbook documents to other formats. All docbook documents in the
|
|
|
+# sip-router projects refer to schema files using public
|
|
|
+# identifiers. Similarly customization stylesheets refer to docbook XSL
|
|
|
+# stylesheets using public URIs. The catalog file is then used to convert
|
|
|
+# public identifiers and public URIs to files on local filesystem. The default
|
|
|
+# version of the catalog file only refers to file /etc/xml/catalog, this is
|
|
|
+# the site-wide catalog file present in Debian and possibly other systems
|
|
|
+# too. This file is updated by the package manager whenever docbook schema
|
|
|
+# file or docbook xsl stylesheets are being installed.
|
|
|
+catalog=$(docbook_dir)/catalog.xml
|
|
|
+
|
|
|
+lynx ?= lynx
|
|
|
+dia ?= dia
|
|
|
+xsltproc ?= xsltproc
|
|
|
+xmllint ?= xmllint
|
|
|
+
|
|
|
+lynx_flags ?= -nolist
|
|
|
+dia_args ?=
|
|
|
+xsltproc_flags ?=
|
|
|
+xmllint_flags ?= --xinclude --postvalid --noout
|
|
|
+
|
|
|
+ifeq ($(validate), 0)
|
|
|
+ override xsltproc_flags := $(xsltproc_flags) --novalid
|
|
|
+endif
|
|
|
+
|
|
|
+all_deps = Makefile $(docbook_dir)/Makefile $(dep_xsl) $(catalog) $(extra_deps)
|
|
|
+
|
|
|
+all: txt
|
|
|
+
|
|
|
+html_files = $(addprefix $(output_dir)/, $(addsuffix .html,\
|
|
|
+ $(basename $(html_docs))))
|
|
|
+html_deps = $(addsuffix .d, $(basename $(html_docs)))
|
|
|
+
|
|
|
+txt_files = $(addprefix $(output_dir)/, $(addsuffix .txt,\
|
|
|
+ $(basename $(txt_docs))))
|
|
|
+txt_deps = $(addsuffix .d, $(basename $(txt_docs)))
|
|
|
+
|
|
|
+readme_deps = $(addsuffix .d, $(basename $(readme_docs)))
|
|
|
+
|
|
|
+html xhtml single_html single_xhtml: $(html_files)
|
|
|
+txt text plaintext: $(txt_files)
|
|
|
+readme README: ../README
|
|
|
+
|
|
|
+../README: $(readme_docs) $(readme_deps) $(readme_xsl) $(all_deps)
|
|
|
+ XML_CATALOG_FILES=$(catalog) $(xsltproc) $(xsltproc_flags) \
|
|
|
+ --xinclude \
|
|
|
+ $(readme_xsl) $< | $(lynx) $(lynx_flags) -stdin -dump > $@
|
|
|
+
|
|
|
+$(output_dir)/%.html: %.xml %.d $(single_html_xsl) $(all_deps)
|
|
|
+ XML_CATALOG_FILES=$(catalog) $(xsltproc) $(xsltproc_flags) \
|
|
|
+ --xinclude \
|
|
|
+ --stringparam base.dir "$(output_dir)/" \
|
|
|
+ --stringparam root.filename "$(basename $<)" \
|
|
|
+ --stringparam html.stylesheet "$(html_css)" \
|
|
|
+ --stringparam html.ext ".html" \
|
|
|
+ $(single_html_xsl) $<
|
|
|
+
|
|
|
+
|
|
|
+$(output_dir)/%.txt: %.xml %.d $(txt_xsl) $(all_dep)
|
|
|
+ XML_CATALOG_FILES=$(catalog) $(xsltproc) $(xsltproc_flags) \
|
|
|
+ --xinclude \
|
|
|
+ $(txt_xsl) $< | $(lynx) $(lynx_flags) -stdin -dump > $@
|
|
|
+
|
|
|
+%.png: %.dia $(all_dep)
|
|
|
+ $(dia) $(dia_flags) -t png -e $@ $<
|
|
|
+
|
|
|
+%.d: %.xml $(all_dep)
|
|
|
+ $(xsltproc) $(xsltproc_flags) \
|
|
|
+ --nonet \
|
|
|
+ --novalid \
|
|
|
+ --stringparam output "$@" \
|
|
|
+ $(dep_xsl) $<
|
|
|
+
|
|
|
+.PHONY: check
|
|
|
+check: $(docs) $(html_docs) $(txt_docs) $(readme_docs)
|
|
|
+ XML_CATALOG_FILES=$(catalog) $(xmllint) $(xmllint_flags) $<
|
|
|
+
|
|
|
+.PHONY: clean
|
|
|
+clean:
|
|
|
+ -rm -f $(html_files) $(txt_files)
|
|
|
+
|
|
|
+
|
|
|
+.PHONY: proper realclean distclean maintainer-clean
|
|
|
+proper realclean distclean maintainer-clean: clean
|
|
|
+ -rm -f $(html_deps) $(txt_deps) $(readme_deps) *~
|
|
|
+
|
|
|
+maintainer-clean: clean-tmp
|
|
|
+
|
|
|
+.PHONY: clean-tmp
|
|
|
+clean-tmp:
|
|
|
+ -rm -f TAGS tags *.dbg .*.swp
|
|
|
+
|
|
|
+
|
|
|
+ifeq (,$(MAKECMDGOALS))
|
|
|
+include $(html_deps) $(txt_deps) $(readme_deps)
|
|
|
+else
|
|
|
+ifeq (,$(strip $(nodep_targets)))
|
|
|
+include $(COREPATH)/Makefile.targets
|
|
|
+endif
|
|
|
+ifneq (,$(filter-out $(nodep_targets) check, $(MAKECMDGOALS)))
|
|
|
+include $(html_deps) $(txt_deps) $(readme_deps)
|
|
|
+endif
|
|
|
+endif
|