VirtualBox

Changeset 56170 in vbox


Ignore:
Timestamp:
May 31, 2015 8:14:36 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
100703
Message:

doc/manual/Makefile: Some cleanups and manpage hacking.

Location:
trunk/doc/manual
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/doc/manual/Makefile.kmk

    r56155 r56170  
    5050
    5151
    52 ##########################################################################################
    53 #
    54 #  Globals
    55 #
    56 ##########################################################################################
    57 VBOX_PATH_MANUAL_SRC := $(PATH_SUB_CURRENT)
     52#
     53# Globals
     54#
     55
     56# Error out if someone tries to override old globals.
     57ifdef HTMLHELPOPTS
     58 $(error HTMLHELPOPTS was renamed to VBOX_HTMLHELP_OPTS!)
     59endif
     60ifdef DOCBOOKPATH
     61 $(error DOCBOOKPATH was renamed to VBOX_PATH_DOCBOOK!)
     62endif
     63ifdef DOCBOOKPATH
     64 $(error DOCBOOKPATH was renamed to VBOX_PATH_DOCBOOK!)
     65endif
     66ifdef XML_CATALOG
     67 $(error XML_CATALOG was renamed to VBOX_XML_CATALOG!)
     68endif
     69ifdef VBOX_XML_CATALOG_DOCBOOK
     70 $(error XML_CATALOG_DOCBOOK was renamed to VBOX_XML_CATALOG_DOCBOOK!)
     71endif
     72ifdef VBOXMANAGEPATH
     73 $(error VBOXMANAGEPATH was renamed to VBOXMANAGEHELP_PATH!)
     74endif
     75ifdef PDFLATEX_INTERACTION
     76 $(error PDFLATEX_INTERACTION was renamed to VBOX_PDFLATEX_INTERACTION!)
     77endif
     78ifdef PDFLATEX
     79 $(error PDFLATEX was renamed to VBOX_PDFLATEX_CMD!)
     80endif
     81ifdef HHC
     82 $(error HHC was renamed to VBOX_HHC!)
     83endif
     84
     85# Source and output locations.
     86VBOX_PATH_MANUAL_SRC     := $(PATH_SUB_CURRENT)
    5887VBOX_PATH_MANUAL_OUTBASE := $(PATH_TARGET)/manual
     88
     89# tool locations
     90ifndef VBOX_OSE
     91 # use docbook from our tools directory
     92 VBOX_PATH_DOCBOOK        ?= $(PATH_DEVTOOLS)/common/DocBook/v1.69.1
     93 VBOX_PATH_DOCBOOK_DTD    ?= $(PATH_DEVTOOLS)/common/docbook-xml/v4.3
     94 VBOX_XML_CATALOG         ?= $(VBOX_PATH_MANUAL_OUTBASE)/catalog
     95 VBOX_XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook
     96else
     97 # use docbook of the build host
     98 VBOX_PATH_DOCBOOK        ?= http://docbook.sourceforge.net/release/xsl/current/
     99endif
     100
     101# xsltproc with the catalog trick if applicable.
     102ifdef VBOX_XML_CATALOG
     103 VBOX_XSLTPROC_WITH_CAT    = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -- $(VBOX_XSLTPROC)
     104else
     105 VBOX_XSLTPROC_WITH_CAT    = $(VBOX_XSLTPROC)
     106endif
     107
     108VBOXMANAGEHELP_PATH       ?= $(PATH_STAGE_BIN)/VBoxManageHelp$(SUFF_EXE)
     109
     110 # VBOX_PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures
     111 #                                             without catting the log a million times.
     112VBOX_PDFLATEX_INTERACTION ?= batchmode
     113ifeq ($(KBUILD_HOST),win)
     114 ifndef VBOX_PDFLATEX
     115  VBOX_PDFLATEX           := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/miktex-portable/*/miktex/bin/pdflatex.exe)))
     116  ifneq ($(VBOX_PDFLATEX),)
     117   VBOX_PDFLATEX_CMD       = $(VBOX_PDFLATEX) -halt-on-error -interaction $(VBOX_PDFLATEX_INTERACTION)
     118  endif
     119 endif
     120 ifndef VBOX_PDFLATEX
     121  # Tell MiKTeX to automatically download packages if system wide install.
     122  VBOX_PDFLATEX           := pdflatex
     123  VBOX_PDFLATEX_CMD        = $(VBOX_PDFLATEX) -halt-on-error -interaction $(VBOX_PDFLATEX_INTERACTION) --enable-installer
     124 endif
     125else
     126 VBOX_PDFLATEX            ?= pdflatex
     127 VBOX_PDFLATEX_HALT        = $(shell ( $(VBOX_PDFLATEX) -version | head -1 | grep 141592 > /dev/null ) && echo -halt-on-error )
     128 VBOX_PDFLATEX_CMD         = pdflatex $(VBOX_PDFLATEX_HALT) -interaction $(VBOX_PDFLATEX_INTERACTION)
     129endif
     130
     131# Windows HTML Help Workshop compiler (stupid thing always returns an error!)
     132VBOX_HHC = -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe
     133
     134
     135# Additional xsltproc options when generating
     136VBOX_HTMLHELP_OPTS ?=
     137
     138##
     139# Non-pattern-rule approach to editing XSLT files.
     140# $(evalcall2 def_vbox_replace_paths_in_xslt)
     141# @param    1   The XSLT source file.
     142# @param    2   Optional output subdirectory.
     143define def_vbox_replace_paths_in_xslt
     144CLEANS += $$(VBOX_PATH_MANUAL_OUTBASE)/$2$(notdir $1)
     145$$(VBOX_PATH_MANUAL_OUTBASE)/$2$(notdir $1): $1 | $$$$(dir $$$$@)
     146        $$(call MSG_GENERATE,,$$@,$$<)
     147        $$(QUIET)$$(SED) \
     148                -e 's|@VBOX_PATH_DOCBOOK@|$$(VBOX_PATH_DOCBOOK)|g' \
     149                -e 's|@VBOX_PATH_MANUAL_SRC@|$$(VBOX_PATH_MANUAL_SRC)|g' \
     150                -e 's|@VBOX_PATH_MANUAL_OUTBASE@|$$(VBOX_PATH_MANUAL_OUTBASE)|g' \
     151                \
     152                -e 's|@CFGPATH@|$$(VBOX_PATH_MANUAL_SRC)|g' \
     153                -e 's|@TARGETPATH@|$$(@D)|g' \
     154                --output "$$(@)" $$<
     155endef
     156
     157
     158##########################################################################################
     159#
     160#  Main targets
     161#
     162##########################################################################################
    59163BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
    60 
    61 
    62 ##########################################################################################
    63 #
    64 #  Main targets
    65 #
    66 ##########################################################################################
    67164
    68165ifdef VBOX_WITH_DOCS
     
    77174 ifdef VBOX_WITH_DOCS_CHM
    78175  VBOX_PATH_BIN_CHM = $(PATH_STAGE_BIN)/VirtualBox.chm
    79  else
     176 else  # Do not build chm.
    80177  VBOX_PATH_BIN_CHM =
    81         # do not build
    82  endif # !VBOX_WITH_DOCS_CHM
     178 endif
    83179
    84180 ifndef VBOX_ONLY_SDK
     
    137233 VBOX_MANUAL_XML_FILES_INCL_CHANGELOG = $(VBOX_MANUAL_XML_FILES) \
    138234        user_ChangeLog.xml
     235
     236 VBOX_MANUAL_XML_REFENTRY_FILES = \
     237        man_VBoxManage_extpack.xml
    139238
    140239 VBOX_SDKREF_XML_FILES = \
     
    202301
    203302
    204 ##########################################################################################
    205 #
    206 #  Options
    207 #
    208 ##########################################################################################
    209 
    210 HTMLHELPOPTS =
    211 
    212 
    213 ##########################################################################################
    214 #
    215 #  Preparations
    216 #
    217 ##########################################################################################
    218 
    219 # tool locations
    220 ifndef VBOX_OSE
    221  # use docbook from our tools directory
    222  DOCBOOKPATH         ?= $(PATH_DEVTOOLS)/common/DocBook/v1.69.1
    223  DOCBOOKDTDPATH      ?= $(PATH_DEVTOOLS)/common/docbook-xml/v4.3
    224  XML_CATALOG         ?= $(VBOX_PATH_MANUAL_OUTBASE)/catalog
    225  XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook
    226 else
    227  # use docbook of the build host
    228  DOCBOOKPATH         ?= http://docbook.sourceforge.net/release/xsl/current/
    229 endif
    230 VBOXMANAGEPATH       ?= $(PATH_STAGE_BIN)/VBoxManageHelp$(SUFF_EXE)
    231 
    232  # PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures
    233  #                                        without catting the log a million times.
    234  PDFLATEX_INTERACTION ?= batchmode
    235 ifeq ($(KBUILD_HOST),win)
    236  ifndef VBOX_PDFLATEX
    237   VBOX_PDFLATEX      := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/miktex-portable/*/miktex/bin/pdflatex.exe)))
    238   ifneq ($(VBOX_PDFLATEX),)
    239    PDFLATEX           = $(VBOX_PDFLATEX) -halt-on-error -interaction $(PDFLATEX_INTERACTION)
    240   endif
    241  endif
    242  ifndef PDFLATEX
    243   # Tell MiKTeX to automatically download packages if system wide install.
    244   VBOX_PDFLATEX      := pdflatex
    245   PDFLATEX            = $(VBOX_PDFLATEX) -halt-on-error -interaction $(PDFLATEX_INTERACTION) --enable-installer
    246  endif
    247 else
    248  PDFLATEX_HALT        = $(shell \
    249         ( pdflatex -version | head -1 | grep 141592 > /dev/null ) && echo -halt-on-error )
    250  PDFLATEX             = pdflatex $(PDFLATEX_HALT) -interaction $(PDFLATEX_INTERACTION)
    251 endif
    252 
    253 # Windows HTML Help Workshop compiler (stupid thing always returns an error!)
    254 HHC = -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe
    255 
    256303
    257304##########################################################################################
     
    313360                       --output $@ [email protected]
    314361        var=`$(SED) -n '/!--\$$VIRTUALBOX_CHANGELOG_IMPL-->/p' $<`; \
    315                        test -n "$${var}" && \
    316                       $(SED) -e 's/<?xml version=\"1.0\" encoding=\"UTF-8\"?>//g' \
    317                                --append $@ $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml; \
    318                        true
     362                test -n "$${var}" \
     363                && $(SED) -e 's/<?xml version=\"1.0\" encoding=\"UTF-8\"?>//g' \
     364                        --append $@ $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml; \
     365        true
    319366        $(QUIET)$(SED) -e '/<!--\$$VIRTUALBOX_CHANGELOG_IMPL-->/,$$!d' \
    320367                       -e 's/<!--\$$VIRTUALBOX_CHANGELOG_IMPL-->//' --append $@ [email protected]
    321368
     369# TODO: figure why the rule below doesn't cause kmk to rebuild the manual when a man page changes!
     370$(foreach lang,$(VBOX_MANUAL_LANGUAGES), \
     371$(eval $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/user_VBoxManage.xml: $(VBOX_PATH_MANUAL_SRC)/$(lang)/user_VBoxManage.xml \
     372        $$(addprefix $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES)))))
     373
     374# user_VBoxManage.xml currently needs some extra processing to stitch in the VBoxManage usage blob.
    322375$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/user_VBoxManage.xml): \
    323376                $(VBOX_PATH_MANUAL_OUTBASE)/% : \
    324377                $(VBOX_PATH_MANUAL_SRC)/% \
    325                 $(VBOX_PATH_MANUAL_SRC)/usage-to-docbook-manual.xsl \
    326                 $(VBOXMANAGEPATH) | $$(dir $$@)
     378               $$(addprefix $$(@D)/,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES))) \
     379                $(VBOX_XML_CATALOG) \
     380                $(VBOX_XML_CATALOG_DOCBOOK) \
     381                $(VBOXMANAGEHELP_PATH) | $$(dir $$@)
    327382        $(call MSG_L1,Pre-processing [2] $(@F) to $@)
    328383        $(QUIET)$(RM) -f $@ [email protected] [email protected]
     
    335390                -e 's/\$$VBOX_PRODUCT/$(VBOX_PRODUCT)/g' \
    336391                -e 's/\$$VBOX_C_YEAR/$(VBOX_C_YEAR)/g' \
     392                -e 's|@VBOX_PATH_DOCBOOK@|$(VBOX_PATH_DOCBOOK)|g' \
     393                -e 's|@VBOX_PATH_MANUAL_SRC@|$(VBOX_PATH_MANUAL_SRC)|g' \
    337394                --output [email protected] $<
    338395        $(QUIET)$(SED) \
     
    343400                $(if $(eq $(KBUILD_TARGET),darwin), -E 'DYLD_FALLBACK_LIBRARY_PATH=$(dir $(LIB_RUNTIME))') \
    344401                -- \
    345                 $(VBOXMANAGEPATH) --dumpopts
     402                $(VBOXMANAGEHELP_PATH) --dumpopts
    346403        $(QUIET)$(SED) -e 's/</\&lt;/g' -e 's/>/\&gt;/g' --append [email protected] [email protected]
    347404        $(QUIET)$(SED) \
     
    349406                -e 's/.*\$$VBOX_MANAGE_OUTPUT//' \
    350407                --append [email protected] [email protected]
    351         $(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet --output $@ \
     408if 0 # Not currently needed.
     409        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output $@ \
    352410                $(VBOX_PATH_MANUAL_SRC)/usage-to-docbook-manual.xsl \
    353411                [email protected]
     412else
     413        $(QUIET)$(CP) [email protected] $@
     414endif
    354415        $(QUIET)$(RM) -f [email protected] [email protected] [email protected]
    355416
     417
     418# Morph man pages into manual sections.
     419$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/,$(VBOX_MANUAL_XML_REFENTRY_FILES))): \
     420                $(VBOX_PATH_MANUAL_OUTBASE)/% : $(VBOX_PATH_MANUAL_SRC)/% \
     421                $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl \
     422                $(VBOX_VERSION_STAMP) | $$(dir $$@)
     423        $(call MSG_GENERATE,,$@,$<)
     424        $(QUIET)$(RM) -f $@
     425        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output $@ \
     426                $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl $<
     427
     428# ????
    356429VBOX_MANUAL_APIREF_TMP = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef_apiref.xml
    357430VBOX_DOC_XIDL_SRC = $(PATH_ROOT)/src/VBox/Main/idl/VirtualBox.xidl
     
    399472
    400473# Create a catalog file for xsltproc that points to docbook catalog.
    401 ifneq ($(XML_CATALOG),)
    402 $(XML_CATALOG): $(MAKEFILE_CURRENT) | $$(dir $$@)
     474ifdef VBOX_XML_CATALOG
     475$(VBOX_XML_CATALOG): $(MAKEFILE_CURRENT) | $$(dir $$@)
    403476        $(call MSG_L1,Creating catalog $@)
    404477        $(QUIET)$(RM) -f [email protected] $@
     
    406479        $(QUIET)$(APPEND) [email protected] '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">'
    407480        $(QUIET)$(APPEND) [email protected] '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">'
    408         $(QUIET)$(APPEND) [email protected] '  <delegatePublic publicIdStartString="-//OASIS/ENTITIES DocBook XML"      catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
    409         $(QUIET)$(APPEND) [email protected] '  <delegatePublic publicIdStartString="-//OASIS/DTD DocBook XML"           catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
    410         $(QUIET)$(APPEND) [email protected] '  <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
    411         $(QUIET)$(APPEND) [email protected] '  <delegateURI uriStartString="http://www.oasis-open.org/docbook/"         catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
     481        $(QUIET)$(APPEND) [email protected] '  <delegatePublic publicIdStartString="-//OASIS/ENTITIES DocBook XML"      catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
     482        $(QUIET)$(APPEND) [email protected] '  <delegatePublic publicIdStartString="-//OASIS/DTD DocBook XML"           catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
     483        $(QUIET)$(APPEND) [email protected] '  <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
     484        $(QUIET)$(APPEND) [email protected] '  <delegateURI uriStartString="http://www.oasis-open.org/docbook/"         catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
    412485        $(QUIET)$(APPEND) [email protected] '</catalog>'
    413486        $(QUIET)$(MV) -f [email protected] $@
    414487
    415488# Create a docbook catalog file for xsltproc that points to the local docbook files.
    416 $(XML_CATALOG_DOCBOOK): $(MAKEFILE_CURRENT) | $$(dir $$@)
     489$(VBOX_XML_CATALOG_DOCBOOK): $(MAKEFILE_CURRENT) | $$(dir $$@)
    417490        $(call MSG_L1,Creating catalog $@)
    418491        $(QUIET)$(RM) -f [email protected] $@
     
    420493        $(QUIET)$(APPEND) [email protected] '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">'
    421494        $(QUIET)$(APPEND) [email protected] '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">'
    422         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.3//EN"          uri="file:///$(DOCBOOKDTDPATH)/dbpoolx.mod"/>'
    423         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD DocBook XML V4.3//EN"                                uri="file:///$(DOCBOOKDTDPATH)/docbookx.dtd"/>'
    424         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD DocBook XML V4.4//EN"                                uri="file:///$(DOCBOOKDTDPATH)/docbookx.dtd"/>'
    425         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.3//EN"        uri="file:///$(DOCBOOKDTDPATH)/dbcentx.mod"/>'
    426         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.3//EN"                 uri="file:///$(DOCBOOKDTDPATH)/dbnotnx.mod"/>'
    427         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.3//EN" uri="file:///$(DOCBOOKDTDPATH)/dbgenent.mod"/>'
    428         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.3//EN"        uri="file:///$(DOCBOOKDTDPATH)/dbhierx.mod"/>'
    429         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"               uri="file:///$(DOCBOOKDTDPATH)/soextblx.dtd"/>'
    430         $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.3//EN"               uri="file:///$(DOCBOOKDTDPATH)/calstblx.dtd"/>'
    431         $(QUIET)$(APPEND) [email protected] '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
    432         $(QUIET)$(APPEND) [email protected] '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
    433         $(QUIET)$(APPEND) [email protected] '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
    434         $(QUIET)$(APPEND) [email protected] '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
    435         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN"   uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsa.ent"/>'
    436         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN"  uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsb.ent"/>'
    437         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN"        uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsc.ent"/>'
    438         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsn.ent"/>'
    439         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN"          uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amso.ent"/>'
    440         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN"         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsr.ent"/>'
    441         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN"                  uri="file:///$(DOCBOOKDTDPATH)/ent/iso-box.ent"/>'
    442         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN"                      uri="file:///$(DOCBOOKDTDPATH)/ent/iso-cyr1.ent"/>'
    443         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN"                  uri="file:///$(DOCBOOKDTDPATH)/ent/iso-cyr2.ent"/>'
    444         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN"                     uri="file:///$(DOCBOOKDTDPATH)/ent/iso-dia.ent"/>'
    445         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk1.ent"/>'
    446         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN"                      uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk2.ent"/>'
    447         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk3.ent"/>'
    448         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN"             uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk4.ent"/>'
    449         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-lat1.ent"/>'
    450         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-lat2.ent"/>'
    451         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN"           uri="file:///$(DOCBOOKDTDPATH)/ent/iso-num.ent"/>'
    452         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Publishing//EN"                            uri="file:///$(DOCBOOKDTDPATH)/ent/iso-pub.ent"/>'
    453         $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES General Technical//EN"                     uri="file:///$(DOCBOOKDTDPATH)/ent/iso-tech.ent"/>'
     495        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.3//EN"          uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbpoolx.mod"/>'
     496        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD DocBook XML V4.3//EN"                                uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd"/>'
     497        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD DocBook XML V4.4//EN"                                uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd"/>'
     498        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.3//EN"        uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbcentx.mod"/>'
     499        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.3//EN"                 uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbnotnx.mod"/>'
     500        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.3//EN" uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbgenent.mod"/>'
     501        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.3//EN"        uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbhierx.mod"/>'
     502        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"               uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/soextblx.dtd"/>'
     503        $(QUIET)$(APPEND) [email protected] '  <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.3//EN"               uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/calstblx.dtd"/>'
     504        $(QUIET)$(APPEND) [email protected] '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
     505        $(QUIET)$(APPEND) [email protected] '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
     506        $(QUIET)$(APPEND) [email protected] '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
     507        $(QUIET)$(APPEND) [email protected] '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
     508        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN"   uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsa.ent"/>'
     509        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN"  uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsb.ent"/>'
     510        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN"        uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsc.ent"/>'
     511        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsn.ent"/>'
     512        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN"          uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amso.ent"/>'
     513        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN"         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsr.ent"/>'
     514        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN"                  uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-box.ent"/>'
     515        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN"                      uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr1.ent"/>'
     516        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN"                  uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr2.ent"/>'
     517        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN"                     uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-dia.ent"/>'
     518        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk1.ent"/>'
     519        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN"                      uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk2.ent"/>'
     520        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk3.ent"/>'
     521        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN"             uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk4.ent"/>'
     522        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat1.ent"/>'
     523        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat2.ent"/>'
     524        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN"           uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-num.ent"/>'
     525        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES Publishing//EN"                            uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-pub.ent"/>'
     526        $(QUIET)$(APPEND) [email protected] '  <public publicId="ISO 8879:1986//ENTITIES General Technical//EN"                     uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-tech.ent"/>'
    454527        $(QUIET)$(APPEND) [email protected] '</catalog>'
    455528        $(QUIET)$(MV) -f [email protected] $@
     
    461534        $(call MSG_L1,Pre-processing $(@F) to $@)
    462535        $(QUIET)$(RM) -f [email protected] $@
    463         $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
     536        $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
    464537                       -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
    465538                       -e 's|\$$TARGETPATH|$(@D)|g' --output [email protected] $<
     
    471544        $(call MSG_L1,xsltproc $<)
    472545        $(QUIET)$(RM) -f [email protected] $@
    473         $(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet -o [email protected] $(DOCBOOKPATH)/template/titlepage.xsl $<
     546        $(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet -o [email protected] $(VBOX_PATH_DOCBOOK)/template/titlepage.xsl $<
    474547        $(QUIET)$(MV) -f [email protected] $@
    475548
     
    525598# PDF generation via Latex: generate the .tex file
    526599        $(call MSG_L1,pdflatex $< (four passes) -> $@)
    527         $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
    528         $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
    529         $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
    530         $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
     600        $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
     601        $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
     602        $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
     603        $(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
    531604        $(QUIET)$(SED) -ne '/Warning: Hyper reference/p' $(basename $<).log
    532605        $(QUIET)$(SED) -n \
     
    547620#   pass current language to xsltproc in TARGETLANG variable (extract it from the
    548621#   current directory, should become "de_DE" or the like)
    549         $(QUIET)$(VBOX_XSLTPROC) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG $(notdir $(@D)) -o [email protected] $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
     622        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG $(notdir $(@D)) \
     623                -o [email protected] $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
    550624#   for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
    551625#   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
     
    571645        $(QUIET)$(MKDIR) -p $(VBOX_PATH_SDK)/docs
    572646        $(call MSG_L1,pdflatex $< (three passes))
    573         $(QUIET)$(REDIRECT) -C $(<D) -- $(PDFLATEX) SDKRef.tex
    574         $(QUIET)$(REDIRECT) -C $(<D) -- $(PDFLATEX) SDKRef.tex
    575         $(QUIET)$(REDIRECT) -C $(<D) -- $(PDFLATEX) SDKRef.tex
     647        $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
     648        $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
     649        $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
    576650        $(QUIET)$(SED) -ne '/Warning: Hyper reference/p' $(basename $<).log
    577651        $(QUIET)$(SED) -n \
     
    582656
    583657# generate temporary LaTeX source from processed XML
    584 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_SDKREF_XML_FILES)) $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $(MAKEFILE_CURRENT)
     658$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
     659                $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $(MAKEFILE_CURRENT)
    585660        $(call MSG_L1,Generating $@ from DocBook XML)
    586661        $(QUIET)$(RM) -f $(addprefix $(@D/),$(VBOX_SDKREF_LATEX_FILES_TARGET))
    587662#       generate TeX source from processed docbook and store it in SDKRef.tex.tmp
    588         $(QUIET)$(VBOX_XSLTPROC) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG en_US -o [email protected] $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
     663        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG en_US \
     664                -o [email protected] $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
    589665#       for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
    590666#   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
     
    626702        $(call MSG_L1,hhc $<,=> $@)
    627703        $(QUIET)$(RM) -f $@
    628         $(QUIET)$(HHC) $(subst /,\\,$<)
     704        $(QUIET)$(VBOX_HHC) $(subst /,\\,$<)
    629705
    630706$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/HTMLHelp/htmlhelp.hhp): \
     
    633709                $(VBOX_PATH_MANUAL_OUTBASE)/%/docbook-htmlhelp-formatcfg.xsl \
    634710                $(VBOX_PATH_MANUAL_OUTBASE)/%/titlepage-htmlhelp.xsl \
    635                 $(XML_CATALOG) \
    636                 $(XML_CATALOG_DOCBOOK)
     711                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK)
    637712        $(call MSG_L1,xsltproc $<,=> $@)
    638713        $(QUIET)$(RM) -f $@
    639714        $(QUIET)$(MKDIR) -p $(@D)
    640         $(QUIET)$(if $(XML_CATALOG),XML_CATALOG_FILES=$(XML_CATALOG)) \
    641                 $(VBOX_XSLTPROC) --xinclude --nonet --output $(@D)/ \
     715        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output $(@D)/ \
    642716                --stringparam htmlhelp.chm \
    643717                $(subst /,\\,$(@D)/../VirtualBox.chm) \
     
    664738endif # VBOX_WITH_DOCS_CHM
    665739
     740
    666741##########################################################################################
    667742#
     
    675750        $(call MSG_L1,Pre-processing $(@F) to $@)
    676751        $(QUIET)$(RM) -f [email protected] $@
    677         $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
     752        $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
    678753                       -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
    679754                       -e 's|\$$TARGETPATH|$(@D)|g' --output [email protected] $<
     
    684759        $(call MSG_L1,Pre-processing $(@F) to $@)
    685760        $(QUIET)$(RM) -f [email protected] $@
    686         $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
     761        $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
    687762                       -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
    688763                       -e 's|\$$TARGETPATH|$(@D)|g' --output [email protected] $<
     
    693768                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.xml \
    694769                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG)) \
    695                 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))
     770                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
     771                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) \
     772                | $$(dir $$@)
    696773        $(call MSG_L1,xsltproc $<)
    697         $(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet \
     774        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet \
    698775                --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \
    699776                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-one-page-formatcfg.xsl \
     
    704781                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.xml \
    705782                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG)) \
    706                 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))
     783                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
     784                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) \
     785                | $$(dir $$@)
    707786        $(call MSG_L1,xsltproc $<)
    708         $(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet \
     787        $(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet \
    709788                --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \
    710789                --stringparam chunk.section.depth 0 \
     
    737816        $(call MSG_L1,Pre-processing $(@F) to $@)
    738817        $(QUIET)$(RM) -f [email protected] $@
    739         $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
     818        $(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
    740819                       -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
    741820                       -e 's|\$$TARGETPATH|$(@D)|g' --output [email protected] $<
     
    756835cl-html: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html
    757836
     837
     838##########################################################################################
     839#
     840#  VBoxManage man pages.
     841#
     842##########################################################################################
     843$(evalcall2 def_vbox_replace_paths_in_xslt,docbook-refentry-to-man.xsl,)
     844
     845man-experiment: \
     846                $(VBOX_PATH_MANUAL_SRC)/en_US/man_VBoxManage_extpack.xml \
     847                $(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-man.xsl \
     848                $(VBOX_XML_CATALOG) \
     849                $(VBOX_XML_CATALOG_DOCBOOK)
     850        $(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output z:/tmp/vboxmanage-extpack.1 \
     851                $(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-man.xsl \
     852                $(VBOX_PATH_MANUAL_SRC)/en_US/man_VBoxManage_extpack.xml
     853
     854
    758855include $(FILE_KBUILD_SUB_FOOTER)
    759856
  • trunk/doc/manual/docbook-refentry-to-manual-sect1.xsl

    r56164 r56170  
    11<?xml version="1.0"?>
    22<!--
    3     usage-to-docbook-manual.xsl:
    4         XSLT stylesheet that generates docbook command usage xml.
     3    docbook-refentry-to-manual-sect1.xsl:
     4        XSLT stylesheet for transforming a refentry (manpage)
     5        to a sect1 for the user manual.
    56
    67    Copyright (C) 2006-2015 Oracle Corporation
     
    1718<xsl:stylesheet
    1819  version="1.0"
    19   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     20  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     21  xmlns:str="http://xsltsl.org/string"
     22  >
     23
     24  <xsl:import href="string.xsl"/>
    2025
    2126  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
    2227  <xsl:strip-space elements="*"/>
     28
    2329
    2430<!-- - - - - - - - - - - - - - - - - - - - - - -
     
    4046
    4147<!-- - - - - - - - - - - - - - - - - - - - - - -
    42   deal with non-docbook elements.
     48
    4349 - - - - - - - - - - - - - - - - - - - - - - -->
    4450
    45 <xsl:template match="brief">
    46   <!-- strip this element -->
     51<!-- rename refentry to sect1 -->
     52<xsl:template match="refentry">
     53  <sect1>
     54    <xsl:apply-templates select="node()|@*"/>
     55  </sect1>
    4756</xsl:template>
    4857
     58<!-- Remove refentryinfo, keeping the title element. -->
     59<xsl:template match="refentryinfo">
     60  <xsl:if test="./title">
     61    <xsl:copy-of select="./title"/>
     62  </xsl:if>
     63</xsl:template>
     64
     65<!-- Morph refnamediv into a brief description. -->
     66<xsl:template match="refnamediv">
     67  <para>
     68    <xsl:call-template name="capitalize">
     69      <xsl:with-param name="text" select="normalize-space(./refpurpose)"/>
     70    </xsl:call-template>
     71    <xsl:text>.</xsl:text>
     72  </para>
     73</xsl:template>
     74
     75<!-- Remove refmeta. -->
     76<xsl:template match="refmeta"/>
     77
     78
     79
     80<!--
     81 Captializes the given text.
     82 -->
     83<xsl:template name="capitalize">
     84  <xsl:param name="text"/>
     85  <xsl:call-template name="str:to-upper">
     86    <xsl:with-param name="text" select="substring($text,1,1)"/>
     87  </xsl:call-template>
     88  <xsl:value-of select="substring($text,2)"/>
     89</xsl:template>
    4990
    5091</xsl:stylesheet>
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette