doc: add external doc references support to Xserver-DTrace

This makefile is used to build the 60+ docbooks in xorg.
Dtrace is a user document and should be located under doc subdir.

This user document can now refer to external user/specs docs
or can be referred to by such documnets.

Reviewed-by Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Gaetan Nadon 2011-05-14 13:30:18 -04:00 committed by Keith Packard
parent 221507e3bf
commit dbe26634e4
9 changed files with 122 additions and 44 deletions

View File

@ -38,11 +38,12 @@ m4_ifndef([XORG_MACROS_VERSION],
XORG_MACROS_VERSION(1.13)
XORG_DEFAULT_OPTIONS
XORG_WITH_DOXYGEN(1.6.1)
XORG_CHECK_SGML_DOCTOOLS(1.5)
XORG_CHECK_SGML_DOCTOOLS(1.7)
XORG_ENABLE_DOCS
XORG_ENABLE_DEVEL_DOCS
XORG_WITH_XMLTO(0.0.20)
XORG_WITH_FOP
XORG_WITH_XSLTPROC
XORG_ENABLE_UNIT_TESTS
XORG_LD_WRAP
@ -2151,8 +2152,8 @@ damageext/Makefile
dbe/Makefile
dix/Makefile
doc/Makefile
doc/dtrace/Makefile
doc/xml/Makefile
doc/xml/dtrace/Makefile
doc/xml/xserver.ent
man/Makefile
fb/Makefile

View File

@ -1,3 +1,3 @@
SUBDIRS = xml
SUBDIRS = dtrace xml
dist_noinst_DATA = smartsched

5
doc/dtrace/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
*.html
*.pdf
*.ps
*.txt
*.db

17
doc/dtrace/Makefile.am Normal file
View File

@ -0,0 +1,17 @@
if ENABLE_DOCS
if HAVE_XMLTO
if XSERVER_DTRACE
# Main DocBook/XML files (DOCTYPE book)
docbook = Xserver-DTrace.xml
# The location where the DocBook/XML files and their generated formats are installed
shelfdir = $(docdir)
# Generate DocBook/XML output formats with or without stylesheets
include $(top_srcdir)/docbook.am
endif XSERVER_DTRACE
endif HAVE_XMLTO
endif ENABLE_DOCS

View File

@ -576,4 +576,3 @@ Xserver$1:::client-disconnect
</sect1>
</article>

View File

@ -21,7 +21,6 @@
# DEALINGS IN THE SOFTWARE.
#
SUBDIRS = dtrace
doc_sources = Xserver-spec.xml Xinput.xml
# Developer's documentation is not installed

View File

@ -1,3 +0,0 @@
Xserver-DTrace.html
Xserver-DTrace.pdf
Xserver-DTrace.txt

View File

@ -1,36 +0,0 @@
#
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
doc_sources = Xserver-DTrace.xml
if ENABLE_DOCS
# This user's documentation is installed only if tracing is available
if XSERVER_DTRACE
include $(top_srcdir)/doc/xml/xmlrules-inst.in
else
include $(top_srcdir)/doc/xml/xmlrules-noinst.in
endif
endif

96
docbook.am Normal file
View File

@ -0,0 +1,96 @@
#
# 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)
#
# 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)/doc/xml" \
--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
sgmldbs_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" \
--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
CLEANFILES = $(shelf_DATA) $(sgmldbs_DATA)