summaryrefslogtreecommitdiff
path: root/docbook.am
blob: bba4d54535e0571ba0fd444905cb97a8e373616b (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
100
101
102
103
104
105
#
# 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
if HAVE_STYLESHEETS

XMLTO_SEARCHPATH_FLAGS = 				\
	--searchpath "$(XORG_SGML_PATH)/X11" 		\
	--searchpath "$(abs_top_builddir)"
XMLTO_HTML_OLINK_FLAGS = \
	--stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \
	--stringparam current.docid="$(<:.xml=)"
XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
XMLTO_HTML_FLAGS = 					\
	$(XMLTO_SEARCHPATH_FLAGS)			\
	$(XMLTO_HTML_STYLESHEET_FLAGS)			\
	$(XMLTO_HTML_OLINK_FLAGS)

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

if HAVE_XMLTO_TEXT

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

if HAVE_FOP
XMLTO_FO_IMAGEPATH_FLAGS = --stringparam img.src.path=$(abs_builddir)/
XMLTO_PDF_OLINK_FLAGS = \
	--stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.pdf.xml \
	--stringparam current.docid="$(<:.xml=)"
XMLTO_FO_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl

XMLTO_FO_FLAGS = 					\
	$(XMLTO_SEARCHPATH_FLAGS)			\
	$(XMLTO_FO_STYLESHEET_FLAGS)			\
	$(XMLTO_FO_IMAGEPATH_FLAGS)			\
	$(XMLTO_PDF_OLINK_FLAGS)

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

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

# Generate documents cross-reference target databases
if HAVE_XSLTPROC

XSLT_SEARCHPATH_FLAGS = 				\
	--path "$(XORG_SGML_PATH)/X11"			\
	--path "$(abs_top_builddir)"
XSLT_OLINK_FLAGS = 					\
	--stringparam targets.filename "$@" 		\
	--stringparam collect.xref.targets "only" 	\
	--stringparam olink.base.uri "$(@:.db=)"

XSLT_HTML_FLAGS =					\
	$(XSLT_SEARCHPATH_FLAGS) 			\
	$(XSLT_OLINK_FLAGS)				\
	--nonet --xinclude				\
	$(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
XSLT_PDF_FLAGS = 					\
	$(XSLT_SEARCHPATH_FLAGS) 			\
	$(XSLT_OLINK_FLAGS)				\
	--nonet --xinclude				\
	$(STYLESHEET_SRCDIR)/xorg-fo.xsl

shelf_DATA += $(docbook:.xml=.html.db)
%.html.db: %.xml  $(chapters)
	$(AM_V_GEN)$(XSLTPROC) $(XSLT_HTML_FLAGS) $<

shelf_DATA += $(docbook:.xml=.pdf.db)
%.pdf.db: %.xml $(chapters)
	$(AM_V_GEN)$(XSLTPROC) $(XSLT_PDF_FLAGS) $<

endif HAVE_XSLTPROC
endif HAVE_STYLESHEETS
endif HAVE_XMLTO

CLEANFILES = $(shelf_DATA)