summaryrefslogtreecommitdiff
path: root/docbook.am
blob: eb3bf0c9a88b289ab1bfcf30314f2d606f6ea998 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#
# Generate output formats for a single DocBook/XML with/without chapters
#
# Variables set by the calling Makefile:
# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
# docbook:  the main DocBook/XML file, no chapters, appendix or image files
# chapters: all files pulled in by an XInclude statement and images.
#

#
# This makefile is intended for Users Documentation and Functional Specifications.
# Do not use for Developer Documentation which is not installed and does not require olink.
# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
# for an explanation on documents classification.
#

# DocBook/XML generated output formats to be installed
shelf_DATA =

# DocBook/XML file with chapters, appendix and images it includes
dist_shelf_DATA = $(docbook) $(chapters)

if HAVE_XMLTO
#
# Generate DocBook/XML output formats with or without stylesheets
#

# Stylesheets are available if the package xorg-sgml-doctools is installed
if HAVE_STYLESHEETS

# The location where all cross reference databases are installed
sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml"
XMLTO_FLAGS =							\
	--searchpath "$(XORG_SGML_PATH)/X11"			\
	--searchpath "$(abs_top_builddir)"			\
	--stringparam target.database.document=$(masterdb)	\
	--stringparam current.docid="$(<:.xml=)"		\
	--stringparam collect.xref.targets="no"

XMLTO_XHTML_FLAGS = \
	-x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
	--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css

XMLTO_FO_FLAGS = \
	-x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
endif HAVE_STYLESHEETS

shelf_DATA += $(docbook:.xml=.html)
%.html: %.xml  $(chapters)
	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $<

if HAVE_FOP
shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
%.pdf: %.xml $(chapters)
	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $<
%.ps: %.xml $(chapters)
	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $<
endif HAVE_FOP

if HAVE_XMLTO_TEXT
shelf_DATA += $(docbook:.xml=.txt)
%.txt: %.xml $(chapters)
	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $<
endif HAVE_XMLTO_TEXT

#
# Generate documents cross-reference target databases
#

# This is only possible if the xorg-sgml-doctools package is installed
if HAVE_STYLESHEETS
if HAVE_XSLTPROC

# DocBook/XML generated document cross-reference database
shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)

# Generate DocBook/XML document cross-reference database
# Flags for the XSL Transformation processor generating xref target databases
XSLTPROC_FLAGS =					\
	--path "$(XORG_SGML_PATH)/X11"			\
	--path "$(abs_top_builddir)"			\
	--stringparam targets.filename "$@"		\
	--stringparam collect.xref.targets "only"	\
	--nonet --xinclude

%.html.db: %.xml  $(chapters)
	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
	http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $<

%.fo.db: %.xml $(chapters)
	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
	http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<

endif HAVE_XSLTPROC
endif HAVE_STYLESHEETS
endif HAVE_XMLTO

CLEANFILES = $(shelf_DATA)