VirtualBox

Changeset 98448 in vbox for trunk/doc


Ignore:
Timestamp:
Feb 2, 2023 1:31:37 PM (2 years ago)
Author:
vboxsync
Message:

manual/*.kmk: Automatic scm cleanups. bugref:10348

Location:
trunk/doc/manual
Files:
2 edited

Legend:

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

    r98103 r98448  
    2727
    2828ifndef VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED
    29 VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED = 1
    30 
    31 # Include the top-level configure file.
    32 ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
    33  include $(PATH_ROOT)/Config.kmk
    34 endif
    35 
    36 
    37 #
    38 # Globals.
    39 #
    40 
    41 # Source location.
    42 VBOX_PATH_MANUAL_SRC     := $(PATH_ROOT)/doc/manual
    43 # Output location.
    44 VBOX_PATH_MANUAL_OUTBASE := $(PATH_OBJ)/manual
    45 
    46 ## List of refentry files (manpages).
    47 VBOX_MANUAL_XML_REFENTRY_FILES := \
    48         man_VBoxManage-common.xml \
    49         man_VBoxManage-list.xml \
    50         man_VBoxManage-showvminfo.xml \
    51         man_VBoxManage-registervm.xml \
    52         man_VBoxManage-unregistervm.xml \
    53         man_VBoxManage-createvm.xml \
    54         man_VBoxManage-modifyvm.xml \
    55         man_VBoxManage-snapshot.xml \
    56         man_VBoxManage-clonevm.xml \
    57         man_VBoxManage-movevm.xml \
    58         man_VBoxManage-encryptvm.xml \
    59         man_VBoxManage-startvm.xml \
    60         man_VBoxManage-controlvm.xml \
    61         man_VBoxManage-import.xml \
    62         man_VBoxManage-export.xml \
    63         man_VBoxManage-mediumio.xml \
    64         man_VBoxManage-sharedfolder.xml \
    65         man_VBoxManage-dhcpserver.xml \
    66         man_VBoxManage-debugvm.xml \
    67         man_VBoxManage-extpack.xml \
    68         man_VBoxManage-unattended.xml \
    69         man_VBoxManage-cloud.xml \
    70         man_VBoxManage-cloudprofile.xml \
    71         man_VBoxManage-signova.xml \
    72         man_VBoxManage-modifynvram.xml \
    73         man_VBoxManage-hostonlynet.xml \
    74         man_VBoxManage-updatecheck.xml \
    75         man_VBoxManage-discardstate.xml \
    76         man_VBoxManage-adoptstate.xml \
    77         man_VBoxManage-closemedium.xml \
    78         man_VBoxManage-storageattach.xml \
    79         man_VBoxManage-storagectl.xml \
    80         man_VBoxManage-bandwidthctl.xml \
    81         man_VBoxManage-showmediuminfo.xml \
    82         man_VBoxManage-createmedium.xml \
    83         man_VBoxManage-modifymedium.xml \
    84         man_VBoxManage-clonemedium.xml \
    85         man_VBoxManage-mediumproperty.xml \
    86         man_VBoxManage-encryptmedium.xml \
    87         man_VBoxManage-checkmediumpwd.xml \
    88         man_VBoxManage-convertfromraw.xml \
    89         man_VBoxManage-setextradata.xml \
    90         man_VBoxManage-getextradata.xml \
    91         man_VBoxManage-setproperty.xml \
    92         man_VBoxManage-usbfilter.xml \
    93         man_VBoxManage-guestproperty.xml \
    94         man_VBoxManage-guestcontrol.xml \
    95         man_VBoxManage-metrics.xml \
    96         man_VBoxManage-natnetwork.xml \
    97         man_VBoxManage-hostonlyif.xml \
    98         man_VBoxManage-usbdevsource.xml
    99 
    100 ## List of user manual XML files.
    101 VBOX_MANUAL_XML_FILES = \
    102         UserManual.xml \
    103         user_Preface.xml \
    104         user_Introduction.xml \
    105         user_Installation.xml \
    106         user_BasicConcepts.xml \
    107         user_GuestAdditions.xml \
    108         user_Storage.xml \
    109         user_Networking.xml \
    110         user_Frontends.xml \
    111         user_VBoxManage.xml \
    112         user_AdvancedTopics.xml \
    113         user_Technical.xml \
    114         user_VirtualBoxAPI.xml \
    115         user_Troubleshooting.xml \
    116         user_Security.xml \
    117         user_KnownIssues.xml \
    118         user_ChangeLog.xml \
    119         user_ThirdParty.xml \
    120         user_PrivacyPolicy.xml \
    121         user_Glossary.xml \
    122         oracle-accessibility-ohc-en.xml \
    123         oracle-diversity.xml \
    124         oracle-support-en.xml
    125 
    126 ## List of user manual XML files common for all languages.
    127 VBOX_MANUAL_XML_FILES_COMMON = \
    128         $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml
    129 
    130 
    131 # Tool locations.
    132 ifndef VBOX_OSE
    133  # use docbook from our tools directory
    134  VBOX_PATH_DOCBOOK        ?= $(KBUILD_DEVTOOLS)/common/DocBook/v1.69.1
    135  VBOX_PATH_DOCBOOK_DTD    ?= $(KBUILD_DEVTOOLS)/common/docbook-xml/v4.5
    136 else
    137  # use docbook of the build host
    138  VBOX_PATH_DOCBOOK        ?= /usr/share/xml/docbook/stylesheet/docbook-xsl
    139  VBOX_PATH_DOCBOOK_DTD    ?= /usr/share/xml/docbook/schema/dtd/4.5
    140 endif
    141 VBOX_XML_CATALOG          ?= $(VBOX_PATH_MANUAL_OUTBASE)/vbox-doc.cat
    142 VBOX_XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook.cat
    143 VBOX_XML_CATALOG_MANUAL   ?= $(VBOX_PATH_MANUAL_OUTBASE)/manual.cat
    144 VBOX_XML_ENTITIES         ?= $(VBOX_PATH_MANUAL_OUTBASE)/all-entities.ent
    145 
    146 # xsltproc with the catalog trick if applicable (set XML_DEBUG_CATALOG to
    147 # non-zero value to debug file/uri resolution through the catalogs, using
    148 # one of them is enough, they show the same information).
    149 ifdef VBOX_XML_CATALOG
    150  VBOX_XSLTPROC_WITH_CAT    = $(REDIRECT) -E "XML_CATALOG_FILES=$(if $(2),$(2),$(VBOX_XML_CATALOG))" -E "XML_DEBUG_CATALOG=" $1 -- \
    151         $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
    152  VBOX_XMLLINT_WITH_CAT     = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -E "XML_DEBUG_CATALOG=" -- \
    153         $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
    154 else
    155  VBOX_XSLTPROC_WITH_CAT    = $(if $(1), $(REDIRECT) $1 --,) $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) \
    156         --path "$(VBOX_PATH_MANUAL_OUTBASE)"
    157  VBOX_XMLLINT_WITH_CAT     = $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
    158 endif
    159 
    160 
    161 # File name of the generated stylesheet for transforming xref elements into
    162 # name user manual sections.
    163 VBOX_XML_XREF_TO_TEXT      = xref-to-text.xsl
    164 
    165 ##
    166 # Emits rules for preprocessing refentry sources (applying remarks element),
    167 # and for producing the actual man pages.
    168 #
    169 # $(evalcall2 def_vbox_refentry_preprocess_for_manpage)
    170 # @param    1   The output directory.
    171 # @param    2   The XML file name (no path).
    172 # @param    3   The XML file with full path.
    173 # @param    4   Non-empty if xrefs to replace.
    174 # @param    5   Language code (optional if $4 is empty).
    175 define def_vbox_refentry_preprocess_for_manpage
    176 $(1)/$(2): \
    177                 $(3) \
    178                 $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \
    179                 $(if $(4), $$(VBOX_PATH_MANUAL_OUTBASE)/$(5)/$$(VBOX_XML_XREF_TO_TEXT),) \
    180                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    181                 $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
     29 VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED = 1
     30
     31 # Include the top-level configure file.
     32 ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
     33  include $(PATH_ROOT)/Config.kmk
     34 endif
     35
     36
     37 #
     38 # Globals.
     39 #
     40
     41 # Source location.
     42 VBOX_PATH_MANUAL_SRC    := $(PATH_ROOT)/doc/manual
     43 # Output location.
     44 VBOX_PATH_MANUAL_OUTBASE := $(PATH_OBJ)/manual
     45
     46 ## List of refentry files (manpages).
     47 VBOX_MANUAL_XML_REFENTRY_FILES := \
     48        man_VBoxManage-common.xml \
     49        man_VBoxManage-list.xml \
     50        man_VBoxManage-showvminfo.xml \
     51        man_VBoxManage-registervm.xml \
     52        man_VBoxManage-unregistervm.xml \
     53        man_VBoxManage-createvm.xml \
     54        man_VBoxManage-modifyvm.xml \
     55        man_VBoxManage-snapshot.xml \
     56        man_VBoxManage-clonevm.xml \
     57        man_VBoxManage-movevm.xml \
     58        man_VBoxManage-encryptvm.xml \
     59        man_VBoxManage-startvm.xml \
     60        man_VBoxManage-controlvm.xml \
     61        man_VBoxManage-import.xml \
     62        man_VBoxManage-export.xml \
     63        man_VBoxManage-mediumio.xml \
     64        man_VBoxManage-sharedfolder.xml \
     65        man_VBoxManage-dhcpserver.xml \
     66        man_VBoxManage-debugvm.xml \
     67        man_VBoxManage-extpack.xml \
     68        man_VBoxManage-unattended.xml \
     69        man_VBoxManage-cloud.xml \
     70        man_VBoxManage-cloudprofile.xml \
     71        man_VBoxManage-signova.xml \
     72        man_VBoxManage-modifynvram.xml \
     73        man_VBoxManage-hostonlynet.xml \
     74        man_VBoxManage-updatecheck.xml \
     75        man_VBoxManage-discardstate.xml \
     76        man_VBoxManage-adoptstate.xml \
     77        man_VBoxManage-closemedium.xml \
     78        man_VBoxManage-storageattach.xml \
     79        man_VBoxManage-storagectl.xml \
     80        man_VBoxManage-bandwidthctl.xml \
     81        man_VBoxManage-showmediuminfo.xml \
     82        man_VBoxManage-createmedium.xml \
     83        man_VBoxManage-modifymedium.xml \
     84        man_VBoxManage-clonemedium.xml \
     85        man_VBoxManage-mediumproperty.xml \
     86        man_VBoxManage-encryptmedium.xml \
     87        man_VBoxManage-checkmediumpwd.xml \
     88        man_VBoxManage-convertfromraw.xml \
     89        man_VBoxManage-setextradata.xml \
     90        man_VBoxManage-getextradata.xml \
     91        man_VBoxManage-setproperty.xml \
     92        man_VBoxManage-usbfilter.xml \
     93        man_VBoxManage-guestproperty.xml \
     94        man_VBoxManage-guestcontrol.xml \
     95        man_VBoxManage-metrics.xml \
     96        man_VBoxManage-natnetwork.xml \
     97        man_VBoxManage-hostonlyif.xml \
     98        man_VBoxManage-usbdevsource.xml
     99
     100 ## List of user manual XML files.
     101 VBOX_MANUAL_XML_FILES = \
     102        UserManual.xml \
     103        user_Preface.xml \
     104        user_Introduction.xml \
     105        user_Installation.xml \
     106        user_BasicConcepts.xml \
     107        user_GuestAdditions.xml \
     108        user_Storage.xml \
     109        user_Networking.xml \
     110        user_Frontends.xml \
     111        user_VBoxManage.xml \
     112        user_AdvancedTopics.xml \
     113        user_Technical.xml \
     114        user_VirtualBoxAPI.xml \
     115        user_Troubleshooting.xml \
     116        user_Security.xml \
     117        user_KnownIssues.xml \
     118        user_ChangeLog.xml \
     119        user_ThirdParty.xml \
     120        user_PrivacyPolicy.xml \
     121        user_Glossary.xml \
     122        oracle-accessibility-ohc-en.xml \
     123        oracle-diversity.xml \
     124        oracle-support-en.xml
     125
     126 ## List of user manual XML files common for all languages.
     127 VBOX_MANUAL_XML_FILES_COMMON = \
     128        $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml
     129
     130
     131 # Tool locations.
     132 ifndef VBOX_OSE
     133  # use docbook from our tools directory
     134  VBOX_PATH_DOCBOOK       ?= $(KBUILD_DEVTOOLS)/common/DocBook/v1.69.1
     135  VBOX_PATH_DOCBOOK_DTD   ?= $(KBUILD_DEVTOOLS)/common/docbook-xml/v4.5
     136 else
     137  # use docbook of the build host
     138  VBOX_PATH_DOCBOOK       ?= /usr/share/xml/docbook/stylesheet/docbook-xsl
     139  VBOX_PATH_DOCBOOK_DTD   ?= /usr/share/xml/docbook/schema/dtd/4.5
     140 endif
     141 VBOX_XML_CATALOG         ?= $(VBOX_PATH_MANUAL_OUTBASE)/vbox-doc.cat
     142 VBOX_XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook.cat
     143 VBOX_XML_CATALOG_MANUAL  ?= $(VBOX_PATH_MANUAL_OUTBASE)/manual.cat
     144 VBOX_XML_ENTITIES        ?= $(VBOX_PATH_MANUAL_OUTBASE)/all-entities.ent
     145
     146 # xsltproc with the catalog trick if applicable (set XML_DEBUG_CATALOG to
     147 # non-zero value to debug file/uri resolution through the catalogs, using
     148 # one of them is enough, they show the same information).
     149 ifdef VBOX_XML_CATALOG
     150  VBOX_XSLTPROC_WITH_CAT   = $(REDIRECT) -E "XML_CATALOG_FILES=$(if $(2),$(2),$(VBOX_XML_CATALOG))" -E "XML_DEBUG_CATALOG=" $1 -- \
     151        $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
     152  VBOX_XMLLINT_WITH_CAT    = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -E "XML_DEBUG_CATALOG=" -- \
     153        $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
     154 else
     155  VBOX_XSLTPROC_WITH_CAT   = $(if $(1), $(REDIRECT) $1 --,) $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) \
     156        --path "$(VBOX_PATH_MANUAL_OUTBASE)"
     157  VBOX_XMLLINT_WITH_CAT    = $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
     158 endif
     159
     160
     161 # File name of the generated stylesheet for transforming xref elements into
     162 # name user manual sections.
     163 VBOX_XML_XREF_TO_TEXT     = xref-to-text.xsl
     164
     165 ##
     166 # Emits rules for preprocessing refentry sources (applying remarks element),
     167 # and for producing the actual man pages.
     168 #
     169 # $(evalcall2 def_vbox_refentry_preprocess_for_manpage)
     170 # @param    1   The output directory.
     171 # @param    2   The XML file name (no path).
     172 # @param    3   The XML file with full path.
     173 # @param    4   Non-empty if xrefs to replace.
     174 # @param    5   Language code (optional if $4 is empty).
     175 define def_vbox_refentry_preprocess_for_manpage
     176  $(1)/$(2): \
     177                $(3) \
     178                $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \
     179                $(if $(4), $$(VBOX_PATH_MANUAL_OUTBASE)/$(5)/$$(VBOX_XML_XREF_TO_TEXT),) \
     180                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     181                $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
    182182        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
    183183        $$(QUIET)$$(RM) -f "$$@"
    184184        $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ \
    185185                "$$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl" $$<
    186 ifneq ($(4),)
     186  ifneq ($(4),)
    187187        $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output [email protected] \
    188188                $$(VBOX_PATH_MANUAL_OUTBASE)/$(5)/$$(VBOX_XML_XREF_TO_TEXT) $$@
    189189        $$(QUIET)$$(MV) -f -- "[email protected]" "$$@"
    190 endif
    191 if defined(VBOX_HAVE_XMLLINT) && "$(USER)" == "bird" # Effing stuff happends on build servers, probably kmk related...
     190  endif
     191  if defined(VBOX_HAVE_XMLLINT) && "$(USER)" == "bird" # Effing stuff happends on build servers, probably kmk related...
    192192        $$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$@
    193 endif
    194 endef
    195 
    196 ##
    197 # Generate a single header file containing everything (no C file).
    198 #
    199 # @param   1   Destination file.
    200 # @param   2   Full source file path.
    201 # @param   3   Help infix.
    202 define def_vbox_single_refentry_to_h
    203 $(1).ts +| $(1): \
    204                 $$(VBOX_DOCBOOK_REFENTRY_TO_C_HELP) \
    205                 $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) \
    206                $(2) \
    207                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $(MAKEFILE) | $$$$(dir $$$$@)
     193  endif
     194 endef
     195
     196 ##
     197 # Generate a single header file containing everything (no C file).
     198 #
     199 # @param   1   Destination file.
     200 # @param   2   Full source file path.
     201 # @param   3   Help infix.
     202 define def_vbox_single_refentry_to_h
     203  $(1).ts +| $(1): \
     204                $$(VBOX_DOCBOOK_REFENTRY_TO_C_HELP) \
     205                $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) \
     206                $(2) \
     207                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $(MAKEFILE) | $$$$(dir $$$$@)
    208208        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(filter %.xml,$$^),$$(patsubst %.ts,%,$$@))
    209209        $$(QUIET)$$(APPEND) -tn "$$@" \
     
    231231               '/* end of file */'
    232232        $$(QUIET)$$(CP) --changed -- "$$@" "$$(patsubst %.ts,%,$$@)"
    233 endef
    234 
    235 
    236 #
    237 # Make sure we've got a rule to make the output directory.
    238 #
    239 BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
    240 
    241 
    242 ifdef VBOX_XML_CATALOG
    243  # Trickery for making sure that the file:/// URLs end up with exactly 3
    244  # slashes, both on Unixy OSes (where the absolute path contributes one more,
    245  # and some very picky xsltproc variants are floating around which do not work
    246  # quite correctly with file:////, doing incorrect filename transformations)
    247  # and on Windows (where the absolute path starts with a drive letter).
    248  VBOX_FILE_URL_MAYBE_SLASH = $(if $(eq $(KBUILD_HOST),win),/,)
    249  #
    250  # To avoid network I/O for fetching DTDs, we generate catalogs mapping the public
    251  # entity IDs to local files.  (Obviously, only done when we have local files.)
    252  #
    253  # Create a catalog file for xsltproc that points to docbook catalog.
    254  $(VBOX_XML_CATALOG): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
     233 endef
     234
     235
     236 #
     237 # Make sure we've got a rule to make the output directory.
     238 #
     239 BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
     240
     241
     242 ifdef VBOX_XML_CATALOG
     243  # Trickery for making sure that the file:/// URLs end up with exactly 3
     244  # slashes, both on Unixy OSes (where the absolute path contributes one more,
     245  # and some very picky xsltproc variants are floating around which do not work
     246  # quite correctly with file:////, doing incorrect filename transformations)
     247  # and on Windows (where the absolute path starts with a drive letter).
     248  VBOX_FILE_URL_MAYBE_SLASH = $(if $(eq $(KBUILD_HOST),win),/,)
     249  #
     250  # To avoid network I/O for fetching DTDs, we generate catalogs mapping the public
     251  # entity IDs to local files.  (Obviously, only done when we have local files.)
     252  #
     253  # Create a catalog file for xsltproc that points to docbook catalog.
     254  $(VBOX_XML_CATALOG): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
    255255        $(call MSG_L1,Creating catalog $@)
    256256        $(QUIET)$(APPEND) -tn "$@" \
     
    272272                '</catalog>'
    273273
    274  # Create a docbook catalog file for xsltproc that points to the local docbook files.
    275  $(VBOX_XML_CATALOG_DOCBOOK): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
     274  # Create a docbook catalog file for xsltproc that points to the local docbook files.
     275  $(VBOX_XML_CATALOG_DOCBOOK): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
    276276        $(call MSG_L1,Creating catalog $@)
    277277        $(QUIET)$(APPEND) -tn "$@" \
     
    312312                '</catalog>'
    313313
    314  # Create a docbook catalog file for xsltproc that points to the local manual files in non-default locations
    315  $(VBOX_XML_CATALOG_MANUAL): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
     314  # Create a docbook catalog file for xsltproc that points to the local manual files in non-default locations
     315  $(VBOX_XML_CATALOG_MANUAL): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
    316316        $(call MSG_L1,Creating catalog $@)
    317317        $(QUIET)$(APPEND) -tn "$@" \
     
    334334                '</catalog>'
    335335
    336 endif # VBOX_XML_CATALOG
    337 
    338 
    339 ifdef VBOX_XML_ENTITIES
    340 
    341  $(VBOX_XML_ENTITIES): $(VBOX_PATH_MANUAL_SRC)/Config.kmk $(VBOX_VERSION_STAMP) | $$(dir $$@)
     336 endif # VBOX_XML_CATALOG
     337
     338
     339 ifdef VBOX_XML_ENTITIES
     340
     341  $(VBOX_XML_ENTITIES): $(VBOX_PATH_MANUAL_SRC)/Config.kmk $(VBOX_VERSION_STAMP) | $$(dir $$@)
    342342        $(call MSG_L1,Creating entities $@)
    343343        $(QUIET)$(APPEND) -tn "$@" \
     
    361361                '<!ENTITY ohc-doc-page "&ohc-base-url;/virtualization/virtualbox/index.html">'
    362362
    363 endif # VBOX_XML_ENTITIES
    364 
    365 
    366 ## Emit rules to produce stylesheet for translating cross references (xref)
    367 # to user manual chapters and sections in the man pages and --help output.
    368 #
    369 # Note! This requires processing UserManual.xml as a single document in order
    370 #       to get the correct chapter and section numbering, so we use a catalog
    371 #       file to replace the generated XML documents it includes with a dummy
    372 #       one.  This reduces the dependencies and recipies we require to build
    373 #       VBoxManage and the RTIsoMaker (w/ derivatives).
    374 # $(evalcall2 def_vbox_xref_to_text)
    375 # @param    1   Language code.
    376 define def_vbox_xref_to_text
    377 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT) \
    378 + $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT).cat: \
    379                 $$(VBOX_PATH_MANUAL_SRC)/$(1)/docbook-refentry-link-replacement-xsl-gen.xsl \
    380                 $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-link-replacement-xsl-gen.xsl \
    381                 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/en_US/,$$(VBOX_MANUAL_XML_FILES)) \
    382                 $$(VBOX_MANUAL_XML_FILES_COMMON) \
    383                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $$(VBOX_XML_ENTITIES) \
    384                | $$$$(dir $$$$@)
     363 endif # VBOX_XML_ENTITIES
     364
     365
     366 ## Emit rules to produce stylesheet for translating cross references (xref)
     367 # to user manual chapters and sections in the man pages and --help output.
     368 #
     369 # Note! This requires processing UserManual.xml as a single document in order
     370 #       to get the correct chapter and section numbering, so we use a catalog
     371 #       file to replace the generated XML documents it includes with a dummy
     372 #       one.  This reduces the dependencies and recipies we require to build
     373 #       VBoxManage and the RTIsoMaker (w/ derivatives).
     374 # $(evalcall2 def_vbox_xref_to_text)
     375 # @param    1   Language code.
     376 define def_vbox_xref_to_text
     377  $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT) \
     378  + $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT).cat: \
     379                $$(VBOX_PATH_MANUAL_SRC)/$(1)/docbook-refentry-link-replacement-xsl-gen.xsl \
     380                $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-link-replacement-xsl-gen.xsl \
     381                $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/en_US/,$$(VBOX_MANUAL_XML_FILES)) \
     382                $$(VBOX_MANUAL_XML_FILES_COMMON) \
     383                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $$(VBOX_XML_ENTITIES) \
     384                | $$$$(dir $$$$@)
    385385        $$(call MSG_L1,Creating stylesheet $$@)
    386386        $$(QUIET)$$(APPEND) -nt "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT).cat" \
     
    400400        $$(QUIET)$$(APPEND) -n "$$@" '' '</xsl:stylesheet>'
    401401
    402 BLDDIRS += $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/
    403 endef
    404 # generate rules for $(VBOX_XML_XREF_TO_TEXT)
    405 $(evalcall2 def_vbox_xref_to_text,en_US)
    406 
    407 #
    408 # Generate rules for editing the refentry to C/H style sheets.
    409 #
    410 VBOX_DOCBOOK_REFENTRY_TO_C_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-C-help.xsl
    411 
    412 VBOX_DOCBOOK_REFENTRY_TO_H_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-H-help.xsl
    413 
    414 #
    415 # Manual dependency.
    416 #
    417 $(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-C-help.xsl: $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl
     402  BLDDIRS += $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/
     403 endef
     404 # generate rules for $(VBOX_XML_XREF_TO_TEXT)
     405 $(evalcall2 def_vbox_xref_to_text,en_US)
     406
     407 #
     408 # Generate rules for editing the refentry to C/H style sheets.
     409 #
     410 VBOX_DOCBOOK_REFENTRY_TO_C_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-C-help.xsl
     411
     412 VBOX_DOCBOOK_REFENTRY_TO_H_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-H-help.xsl
     413
     414 #
     415 # Manual dependency.
     416 #
     417 $(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-C-help.xsl: $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl
    418418
    419419
  • trunk/doc/manual/Makefile.kmk

    r98447 r98448  
    101101        UserManual.qhc
    102102
    103  # VBOX_PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures
    104  #                                             without catting the log a million times.
     103# VBOX_PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures
     104#                                             without catting the log a million times.
    105105VBOX_PDFLATEX_INTERACTION ?= batchmode
    106106ifeq ($(KBUILD_HOST),win)
     
    182182 ifndef VBOX_ONLY_SDK
    183183  VBOX_MANUAL_PACK += \
    184                 $(PATH_STAGE_BIN)/UserManual.pdf \
    185                 $(VBOX_PATH_BIN_HTML) \
    186                 $(VBOX_PATH_BIN_CHM) \
    187                 $(VBOX_PATH_BIN_QHELP)
     184        $(PATH_STAGE_BIN)/UserManual.pdf \
     185        $(VBOX_PATH_BIN_HTML) \
     186        $(VBOX_PATH_BIN_CHM) \
     187        $(VBOX_PATH_BIN_QHELP)
    188188  INSTALLS += VBox-docs-usermanual
    189189
     
    191191   INSTALLS += VBox-docs-usermanual-l10n
    192192   VBOX_MANUAL_PACK += \
    193         $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/UserManual_$(f).pdf)
     193        $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/UserManual_$(f).pdf)
    194194   ifdef VBOX_WITH_DOCS_CHM
    195195    INSTALLS += VBox-docs-usermanual-l10n-chm
    196196    VBOX_MANUAL_PACK += \
    197         $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm)
     197        $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm)
    198198   endif
    199199  endif
     
    213213 endif
    214214
    215 $(foreach lang,$(VBOX_MANUAL_LANGUAGES), \
     215 $(foreach lang,$(VBOX_MANUAL_LANGUAGES), \
    216216 $(eval VBOX_MANUAL_XML_FILES_GENERATED_$$(lang) := \
    217217        $$(addprefix $$(VBOX_PATH_MANUAL_OUTBASE)/$$(lang)/user_,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES))) \
     
    245245
    246246 BLDDIRS += \
    247         $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/,\
    248                 $(addsuffix /images, $(VBOX_MANUAL_LANGUAGES)) \
    249                 $(addsuffix /html-single, $(VBOX_MANUAL_LANGUAGES)) \
    250                 $(addsuffix /html-chunks, $(VBOX_MANUAL_LANGUAGES)) \
    251                 $(addsuffix /qhelp, $(VBOX_MANUAL_LANGUAGES)) \
    252                 $(addsuffix /qhelp/images, $(VBOX_MANUAL_LANGUAGES)) \
    253                 $(addsuffix /HTMLHelp, $(VBOX_MANUAL_LANGUAGES)) \
    254                 $(addsuffix /HTMLHelp/images, $(VBOX_MANUAL_LANGUAGES)) \
     247        $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/, \
     248        $(addsuffix /images, $(VBOX_MANUAL_LANGUAGES)) \
     249        $(addsuffix /html-single, $(VBOX_MANUAL_LANGUAGES)) \
     250        $(addsuffix /html-chunks, $(VBOX_MANUAL_LANGUAGES)) \
     251        $(addsuffix /qhelp, $(VBOX_MANUAL_LANGUAGES)) \
     252        $(addsuffix /qhelp/images, $(VBOX_MANUAL_LANGUAGES)) \
     253        $(addsuffix /HTMLHelp, $(VBOX_MANUAL_LANGUAGES)) \
     254        $(addsuffix /HTMLHelp/images, $(VBOX_MANUAL_LANGUAGES)) \
    255255        )
    256256
     
    264264        $(VBOX_XML_ENTITIES) \
    265265        $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/, \
    266         $(VBOX_XML_XREF_TO_TEXT) \
    267         $(VBOX_XML_XREF_TO_TEXT).cat \
    268         $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \
    269                 $(VBOX_MANUAL_XML_REFENTRY_FILES) \
    270         $(patsubst man_%,%.1,$(basename $(VBOX_MANUAL_XML_REFENTRY_FILES))) \
    271         man_VBoxHeadless.xml \
    272         user_man_VBoxHeadless.xml \
    273         man_vboximg-mount.xml \
    274         user_man_vboximg-mount.xml \
    275         isomakercmd-man.xml \
    276         user_isomakercmd-man.xml \
    277         $(VBOX_MANUAL_LATEX_FILES_TARGET) \
    278         $(VBOX_MANUAL_PNG_FILES_$(lang)) \
    279         $(notdir $(VBOX_MANUAL_TEX_UNICODE_FILES)) \
    280         $(addprefix HTMLHelp/,$(VBOX_MANUAL_PNG_FILES_$(lang))) \
    281         $(addprefix qhelp/,   $(VBOX_MANUAL_PNG_FILES_$(lang))) \
    282         html-single/UserManual.html \
    283         $(addprefix qhelp/, UserManual.qhp UserManual.qhcp $(VBOX_QHELP_OUTPUT_FILES)) \
    284         $(addprefix HTMLHelp/,    index.html go01.html) \
    285         $(addprefix qhelp/,       index.html go01.html) \
    286         $(addprefix html-chunks/, index.html go01.html) \
    287         $(foreach n,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 \
    288             ,html-chunks/ch$(n).html \
    289             html-chunks/re$(n).html \
    290             HTMLHelp/ch$(n).html \
    291             HTMLHelp/re$(n).html \
    292             $(foreach d2,0 1 2 3 4 5 6 7 8 9,$(foreach d1,0 1 2 3 4 5 6 7 8 9,HTMLHelp/ch$(n)s$(d2)$(d1).html)) \
    293             qhelp/ch$(n).html \
    294             qhelp/re$(n).html \
    295             $(foreach d2,0 1 2 3 4 5 6 7 8 9,$(foreach d1,0 1 2 3 4 5 6 7 8 9,qhelp/ch$(n)s$(d2)$(d1).html)) ) \
    296         $(foreach n,a b c \
    297             ,html-chunks/ap$(n).html \
    298             HTMLHelp/ap$(n).html \
    299             $(foreach s,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20,HTMLHelp/ap$(n)s$(s).html) \
    300             qhelp/ap$(n).html \
    301             $(foreach s,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20,qhelp/ap$(n)s$(s).html) ) \
    302         $(foreach n,01 02 03 04 05 \
    303             ,html-chunks/pr$(n).html \
    304             HTMLHelp/pr$(n).html \
    305             $(foreach s,01 02 03 04 05 06 07 08,HTMLHelp/pr$(n)s$(s).html) \
    306             qhelp/pr$(n).html \
    307             $(foreach s,01 02 03 04 05 06 07 08,qhelp/pr$(n)s$(s).html) ) \
    308         HTMLHelp/toc.hhc \
    309         HTMLHelp/htmlhelp.hhp \
    310         qhelp/toc.hhc \
    311         qhelp/htmlhelp.hhp \
    312         UserManual.pdf \
    313         VirtualBox.chm \
    314         $(VBOX_QHELP_OUTPUT_FILES) \
    315         ChangeLog.html \
    316         validatemanual.run \
    317         validateaccessibility.run \
    318         validatesdkref.run \
    319         )) \
     266        $(VBOX_XML_XREF_TO_TEXT) \
     267        $(VBOX_XML_XREF_TO_TEXT).cat \
     268        $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \
     269        $(VBOX_MANUAL_XML_REFENTRY_FILES) \
     270        $(patsubst man_%,%.1,$(basename $(VBOX_MANUAL_XML_REFENTRY_FILES))) \
     271        man_VBoxHeadless.xml \
     272        user_man_VBoxHeadless.xml \
     273        man_vboximg-mount.xml \
     274        user_man_vboximg-mount.xml \
     275        isomakercmd-man.xml \
     276        user_isomakercmd-man.xml \
     277        $(VBOX_MANUAL_LATEX_FILES_TARGET) \
     278        $(VBOX_MANUAL_PNG_FILES_$(lang)) \
     279        $(notdir $(VBOX_MANUAL_TEX_UNICODE_FILES)) \
     280        $(addprefix HTMLHelp/,$(VBOX_MANUAL_PNG_FILES_$(lang))) \
     281        $(addprefix qhelp/,   $(VBOX_MANUAL_PNG_FILES_$(lang))) \
     282        html-single/UserManual.html \
     283        $(addprefix qhelp/, UserManual.qhp UserManual.qhcp $(VBOX_QHELP_OUTPUT_FILES)) \
     284        $(addprefix HTMLHelp/,    index.html go01.html) \
     285        $(addprefix qhelp/,       index.html go01.html) \
     286        $(addprefix html-chunks/, index.html go01.html) \
     287        $(foreach n,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 \
     288        ,html-chunks/ch$(n).html \
     289        html-chunks/re$(n).html \
     290        HTMLHelp/ch$(n).html \
     291        HTMLHelp/re$(n).html \
     292        $(foreach d2,0 1 2 3 4 5 6 7 8 9,$(foreach d1,0 1 2 3 4 5 6 7 8 9,HTMLHelp/ch$(n)s$(d2)$(d1).html)) \
     293        qhelp/ch$(n).html \
     294        qhelp/re$(n).html \
     295        $(foreach d2,0 1 2 3 4 5 6 7 8 9,$(foreach d1,0 1 2 3 4 5 6 7 8 9,qhelp/ch$(n)s$(d2)$(d1).html)) ) \
     296        $(foreach n,a b c \
     297        ,html-chunks/ap$(n).html \
     298        HTMLHelp/ap$(n).html \
     299        $(foreach s,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20,HTMLHelp/ap$(n)s$(s).html) \
     300        qhelp/ap$(n).html \
     301        $(foreach s,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20,qhelp/ap$(n)s$(s).html) ) \
     302        $(foreach n,01 02 03 04 05 \
     303        ,html-chunks/pr$(n).html \
     304        HTMLHelp/pr$(n).html \
     305        $(foreach s,01 02 03 04 05 06 07 08,HTMLHelp/pr$(n)s$(s).html) \
     306        qhelp/pr$(n).html \
     307        $(foreach s,01 02 03 04 05 06 07 08,qhelp/pr$(n)s$(s).html) ) \
     308        HTMLHelp/toc.hhc \
     309        HTMLHelp/htmlhelp.hhp \
     310        qhelp/toc.hhc \
     311        qhelp/htmlhelp.hhp \
     312        UserManual.pdf \
     313        VirtualBox.chm \
     314        $(VBOX_QHELP_OUTPUT_FILES) \
     315        ChangeLog.html \
     316        validatemanual.run \
     317        validateaccessibility.run \
     318        validatesdkref.run \
     319        )) \
    320320        $(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \
    321321        $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/overview_,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \
     
    326326        \
    327327        $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/, \
    328                 $(VBOX_SDKREF_LATEX_FILES_TARGET) \
    329                 SDKRef.pdf \
    330                 ) \
     328        $(VBOX_SDKREF_LATEX_FILES_TARGET) \
     329        SDKRef.pdf \
     330        ) \
    331331        $(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf \
    332332        \
    333333        $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/, \
    334                 $(VBOX_ACCESSIBILITY_LATEX_FILES_TARGET) \
    335                 html-single/Accessibility.html \
    336                 Accessibility.pdf \
    337                 ) \
     334        $(VBOX_ACCESSIBILITY_LATEX_FILES_TARGET) \
     335        html-single/Accessibility.html \
     336        Accessibility.pdf \
     337        ) \
    338338        $(PATH_STAGE_BIN)/Accessibility.html \
    339339        $(PATH_STAGE_BIN)/Accessibility.pdf \
     
    410410if defined(VBOX_WITH_DOCS) && (!defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_DOCS) || defined(VBOX_ONLY_SDK))
    411411
    412 ##
    413 # Morph man pages into manual sections.
    414 # $(evalcall2 def_vbox_refentry_to_user_sect1)
    415 # @param    1  Language.
    416 # @param    2  the refentry xml base file name.
    417 # @param    3  the full refentry xml file path.
    418 define def_vbox_refentry_to_user_sect1
    419 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/user_$(2): $(3) \
    420                 $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl \
    421                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    422                 $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
     412 ##
     413 # Morph man pages into manual sections.
     414 # $(evalcall2 def_vbox_refentry_to_user_sect1)
     415 # @param    1  Language.
     416 # @param    2  the refentry xml base file name.
     417 # @param    3  the full refentry xml file path.
     418 define def_vbox_refentry_to_user_sect1
     419  $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/user_$(2): $(3) \
     420                $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl \
     421                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     422                $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
    423423        $$(call MSG_TOOL,xsltproc $$(notdir $$(filter %.xsl,$$^)),,$$(filter %.xml,$$^),$$@)
    424424        $$(QUIET)$$(RM) -f "$$@"
    425425        $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl $$<
    426 endef
    427 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \
     426 endef
     427 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \
    428428man_VBoxHeadless.xml \
    429429man_vboximg-mount.xml \
    430430, $(evalcall2 def_vbox_refentry_to_user_sect1,$(lang),$(file),$(VBOX_PATH_MANUAL_SRC)/$(lang)/$(file))))
    431 $(foreach lang,$(VBOX_MANUAL_LANGUAGES) \
     431 $(foreach lang,$(VBOX_MANUAL_LANGUAGES) \
    432432,$(evalcall2 def_vbox_refentry_to_user_sect1,$(lang),isomakercmd-man.xml,$(PATH_ROOT)/src/VBox/Runtime/common/fs/isomakercmd-man.xml))
    433433
    434434
    435 # Generates the VBoxManage command overview include file (shared between
    436 # languages) from the refsynopsisdiv section of the man pages.
    437 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/overview_,$(VBOX_MANUAL_XML_REFENTRY_FILES)): \
    438                 $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-overview.xsl \
    439                 $$(patsubst overview_%,$$(VBOX_PATH_MANUAL_SRC)/en_US/%,$$(notdir $$@)) \
    440                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    441         $(VBOX_XML_ENTITIES) | $$(dir $$@)
     435 # Generates the VBoxManage command overview include file (shared between
     436 # languages) from the refsynopsisdiv section of the man pages.
     437 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/overview_,$(VBOX_MANUAL_XML_REFENTRY_FILES)): \
     438                $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-overview.xsl \
     439                $$(patsubst overview_%,$$(VBOX_PATH_MANUAL_SRC)/en_US/%,$$(notdir $$@)) \
     440                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     441                $(VBOX_XML_ENTITIES) | $$(dir $$@)
    442442        $(call MSG_TOOL,xsltproc $(notdir $(filter %.xsl,$^)),,$(firstword $(filter %.xml,$^)),$@)
    443443        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --output "$@" $< $(filter %.xml,$^)
     
    447447
    448448
    449 ##########################################################################################
    450 #
    451 #  Shared rules for PDF generation
    452 #
    453 ##########################################################################################
    454 
    455 ifndef VBOX_OSE
    456 # copy ucs.sty and related files
    457 $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/ucs.sty):
     449 ##########################################################################################
     450 #
     451 #  Shared rules for PDF generation
     452 #
     453 ##########################################################################################
     454
     455 ifndef VBOX_OSE
     456  # copy ucs.sty and related files
     457  $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/ucs.sty):
    458458        $(call MSG_L1,Copying unicode support for LaTeX)
    459459        $(QUIET)$(INSTALL_STAGING) -m0644 -- $(VBOX_MANUAL_TEX_UNICODE_FILES) "$(@D)"
    460 endif
    461 
    462 # copy the PNG files.
    463 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    464 define def_vbox_cp_images_pdf
    465 local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    466 $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
    467                 $$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
     460 endif
     461
     462 # copy the PNG files.
     463 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
     464 define def_vbox_cp_images_pdf
     465  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     466  $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
     467                $$(out_dir)/% : $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
    468468        $$(call MSG_L1,Copying temporary $$< => $$@)
    469469        $$(QUIET)$$(INSTALL_STAGING) -m0644 -- '$$<' '$$(@D)'
    470 endef
    471 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_cp_images_pdf))
    472 
    473 
    474 ##########################################################################################
    475 #
    476 #  UserManual.pdf
    477 #
    478 ##########################################################################################
    479 
    480 
    481 # Generate PDF from LaTeX
    482 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    483 define def_vbox_usermanual_tex_to_pdf
    484 local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    485 $$(out_dir)/UserManual.pdf: \
    486                 $$(out_dir)/UserManual.tex \
    487                 $$(if $$(VBOX_OSE),,$$(out_dir)/ucs.sty) \
    488                 $$(addprefix $$(out_dir)/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) | $$$$(dir $$$$@)
    489 # PDF generation via Latex: generate the .tex file
     470 endef
     471 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_cp_images_pdf))
     472
     473
     474 ##########################################################################################
     475 #
     476 #  UserManual.pdf
     477 #
     478 ##########################################################################################
     479
     480
     481 # Generate PDF from LaTeX
     482 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
     483 define def_vbox_usermanual_tex_to_pdf
     484  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     485  $$(out_dir)/UserManual.pdf: \
     486                $$(out_dir)/UserManual.tex \
     487                $$(if $$(VBOX_OSE),,$$(out_dir)/ucs.sty) \
     488                $$(addprefix $$(out_dir)/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) | $$$$(dir $$$$@)
     489  # PDF generation via Latex: generate the .tex file
    490490        $$(call MSG_L1,pdflatex $$< (four passes) -> $$@)
    491491        $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex
     
    498498                $$(basename $$@).log
    499499        $$(call MSG_L1,Fresh LaTeX-generated PDF is now at $$@)
    500 endef
    501 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_tex_to_pdf))
    502 
    503 # Generate LaTeX from XML
    504 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    505 define def_vbox_usermanual_xml_to_tex
    506 local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    507 $$(out_dir)/UserManual.tex: \
    508                 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
    509                 $$(VBOX_MANUAL_XML_FILES_COMMON) \
    510                 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
    511                 $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \
    512                 $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \
    513                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    514                 $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@)
     500 endef
     501 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_tex_to_pdf))
     502
     503 # Generate LaTeX from XML
     504 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
     505 define def_vbox_usermanual_xml_to_tex
     506  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     507  $$(out_dir)/UserManual.tex: \
     508                $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
     509                $$(VBOX_MANUAL_XML_FILES_COMMON) \
     510                $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
     511                $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \
     512                $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \
     513                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     514                $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@)
    515515        $$(call MSG_TOOL,xsltproc $$(notdir $$(filter %.xsl,$$^)),,$$(firstword $$(filter %.xml,$$^)),$$@)
    516516        $$(QUIET)$$(RM) -f $$(addprefix $$(@D)/,$$(VBOX_MANUAL_LATEX_FILES_TARGET))
    517 #   generate TeX source from processed docbook and store it in UserManual.tex.tmp;
    518 #   pass current language to xsltproc in TARGETLANG variable
     517  #   generate TeX source from processed docbook and store it in UserManual.tex.tmp;
     518  #   pass current language to xsltproc in TARGETLANG variable
    519519        $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG $(lang) \
    520520                -o [email protected] $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $$<
    521 #   for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
    522 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
     521  #   for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
     522  #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
    523523        $$(QUIET)$$(SED) \
    524524                -e 's|^\\QUOTE{}|\\OQ{}|g' \
     
    527527                --output $$@ [email protected]
    528528        $$(QUIET)$$(RM) -f [email protected]
    529 endef
    530 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_tex))
    531 
    532 # Useful aliases
    533 usermanual UserManual.pdf:: $(PATH_STAGE_BIN)/UserManual.pdf
    534 
    535 debug-usermanual:
     529 endef
     530 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_tex))
     531
     532 # Useful aliases
     533 usermanual UserManual.pdf:: $(PATH_STAGE_BIN)/UserManual.pdf
     534
     535 debug-usermanual:
    536536        $(MAKE) --pretty-command-printing -j1 VBOX_PDFLATEX_INTERACTION=errorstopmode $(PATH_STAGE_BIN)/UserManual.pdf
    537537
    538 #
    539 # Generate rules for validating the UserManual.xml.  These are invoked
    540 # automatically at build time, but can also be manually invoked via the
    541 # 'validatemanual' and 'validatemanual_<lang>' aliases.
    542 #
    543 define def_vbox_validate_xml
    544 validatemanual_$(lang):: $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run
    545 $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run: \
    546                 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
    547                 $$(VBOX_MANUAL_XML_FILES_COMMON) \
    548                 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
    549                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    550                 $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@)
     538 #
     539 # Generate rules for validating the UserManual.xml.  These are invoked
     540 # automatically at build time, but can also be manually invoked via the
     541 # 'validatemanual' and 'validatemanual_<lang>' aliases.
     542 #
     543 define def_vbox_validate_xml
     544  validatemanual_$(lang):: $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run
     545  $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run: \
     546                $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
     547                $$(VBOX_MANUAL_XML_FILES_COMMON) \
     548                $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
     549                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     550                $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@)
    551551        $$(call MSG_L1,Validating $$<)
    552552        $$(QUIET)$$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$<
    553553        $$(QUIET)$$(APPEND) -t "$$@" "done"
    554 endef
    555 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_validate_xml))
    556 
    557 
    558 # Handy aliases.
    559 validatemanual:: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),validatemanual_$(lang))
    560 
    561 
    562 
    563 #
    564 # SDKRef.pdf
    565 #
    566 
    567 # Replace <tt> tags in VirtualBox.xidl.
    568 $(VBOX_DOC_XIDL_SRC_TMP): $(VBOX_DOC_XIDL_SRC) $(MAKEFILE_CURRENT) | $$(dir $$@)
     554 endef
     555 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_validate_xml))
     556
     557
     558 # Handy aliases.
     559 validatemanual:: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),validatemanual_$(lang))
     560
     561
     562
     563 #
     564 # SDKRef.pdf
     565 #
     566
     567 # Replace <tt> tags in VirtualBox.xidl.
     568 $(VBOX_DOC_XIDL_SRC_TMP): $(VBOX_DOC_XIDL_SRC) $(MAKEFILE_CURRENT) | $$(dir $$@)
    569569        $(call MSG_L1,Generating $@)
    570570        $(QUIET)$(SED) -e 's|@a \+\(\w\+\)|<tt>\1</tt>|g' \
     
    572572               --output $@ $<
    573573
    574 # Generate SDKRef_apiref.xml as a docbook file excerpt that will be referenced from the SDKRef.xml.
    575 $(VBOX_MANUAL_APIREF_TMP): $(VBOX_PATH_MANUAL_SRC)/xidl2docbook.xsl $(VBOX_DOC_XIDL_SRC_TMP)
     574 # Generate SDKRef_apiref.xml as a docbook file excerpt that will be referenced from the SDKRef.xml.
     575 $(VBOX_MANUAL_APIREF_TMP): $(VBOX_PATH_MANUAL_SRC)/xidl2docbook.xsl $(VBOX_DOC_XIDL_SRC_TMP)
    576576        $(call MSG_L1,Generating $@)
    577577        $(QUIET)$(VBOX_XSLTPROC) $(VBOX_XSLTPROC_OPTS) --xinclude --nonet -o $@ $< $(VBOX_DOC_XIDL_SRC_TMP)
    578578
    579 # Turn SDKRef.xml into LaTeX.
    580 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: \
    581                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
    582                 $(VBOX_MANUAL_APIREF_TMP) \
    583                 $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \
    584                 $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run,) \
    585                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    586                 $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
     579 # Turn SDKRef.xml into LaTeX.
     580 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: \
     581                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
     582                $(VBOX_MANUAL_APIREF_TMP) \
     583                $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \
     584                $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run,) \
     585                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     586                $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
    587587        $(call MSG_TOOL,xsltproc $(notdir $(filter %.xsl,$^)),,$(firstword $(filter %.xml,$^)),$@)
    588588        $(QUIET)$(RM) -f $(addprefix $(@D/),$(VBOX_SDKREF_LATEX_FILES_TARGET))
    589 #       generate TeX source from processed docbook and store it in SDKRef.tex.tmp
     589 #      generate TeX source from processed docbook and store it in SDKRef.tex.tmp
    590590        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG en_US \
    591591                -o [email protected] $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
    592 #       for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
    593 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
     592 #      for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
     593 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
    594594        $(QUIET)$(SED) \
    595595                -e 's|^\\QUOTE{}|\\OQ{}|g' \
     
    599599        $(QUIET)$(RM) -f [email protected]
    600600
    601 # Turn SDKRef.tex into a PDF.
    602 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.pdf: \
    603                 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex \
    604                 $(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \
    605                 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | $$(dir $$@)
     601 # Turn SDKRef.tex into a PDF.
     602 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.pdf: \
     603                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex \
     604                $(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \
     605                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | $$(dir $$@)
    606606        $(call MSG_L1,pdflatex $< (three passes))
    607607        $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
     
    614614        $(call MSG_L1,Fresh LaTeX-generated PDF is now at $@)
    615615
    616 # Validating SDKRef.xml. It is invoked automatically at build time,
    617 # but can also be manually invoked via the 'validate-sdkref' alias.
    618 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run: \
    619                 $(VBOX_PATH_MANUAL_SRC)/en_US/SDKRef.xml \
    620                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
    621                 $(VBOX_MANUAL_APIREF_TMP) \
    622                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    623                 $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
     616 # Validating SDKRef.xml. It is invoked automatically at build time,
     617 # but can also be manually invoked via the 'validate-sdkref' alias.
     618 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run: \
     619                $(VBOX_PATH_MANUAL_SRC)/en_US/SDKRef.xml \
     620                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
     621                $(VBOX_MANUAL_APIREF_TMP) \
     622                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     623                $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
    624624        $(call MSG_L1,Validating $<)
    625625        $(QUIET)$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $<
     
    627627
    628628
    629 # Handy aliases.
    630 validate-sdkref:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run
    631 sdkref:: $(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf
    632 
    633 
    634 
    635 #
    636 # Accessibility.pdf
    637 #
    638 
    639 # Turn Accessibility.xml into LaTeX.
    640 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.tex: \
    641                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \
    642                 $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \
    643                 $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run,) \
    644                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    645                 $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
     629 # Handy aliases.
     630 validate-sdkref:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run
     631 sdkref:: $(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf
     632
     633
     634
     635 #
     636 # Accessibility.pdf
     637 #
     638
     639 # Turn Accessibility.xml into LaTeX.
     640 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.tex: \
     641                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \
     642                $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \
     643                $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run,) \
     644                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     645                $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
    646646        $(call MSG_TOOL,xsltproc $(notdir $(filter %.xsl,$^)),,$(firstword $(filter %.xml,$^)),$@)
    647647        $(QUIET)$(RM) -f $(addprefix $(@D/),$(VBOX_ACCESSIBILITY_LATEX_FILES_TARGET))
    648 #       generate TeX source from processed docbook and store it in Accessibility.tex.tmp
     648 #      generate TeX source from processed docbook and store it in Accessibility.tex.tmp
    649649        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG en_US \
    650650                -o [email protected] $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
    651 #       for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
    652 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
     651 #      for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
     652 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
    653653        $(QUIET)$(SED) \
    654654                -e 's|^\\QUOTE{}|\\OQ{}|g' \
     
    658658        $(QUIET)$(RM) -f [email protected]
    659659
    660 # Turn Accessibility.tex into a PDF.
    661 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.pdf: \
    662                 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.tex \
    663                 $(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \
    664                 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | $$(dir $$@)
     660 # Turn Accessibility.tex into a PDF.
     661 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.pdf: \
     662                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.tex \
     663                $(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \
     664                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | $$(dir $$@)
    665665        $(call MSG_L1,pdflatex $< (three passes))
    666666        $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) Accessibility.tex
     
    673673        $(call MSG_L1,Fresh LaTeX-generated PDF is now at $@)
    674674
    675 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html: \
    676                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \
    677                 $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \
    678                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    679                 $(VBOX_XML_ENTITIES) | $$(dir $$@)
     675 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html: \
     676                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \
     677                $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \
     678                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     679                $(VBOX_XML_ENTITIES) | $$(dir $$@)
    680680        $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@)
    681681        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \
     
    684684                $<
    685685
    686 # Validating Accessibility.xml. It is invoked automatically at build time,
    687 # but can also be manually invoked via the 'validate-accessibility' alias.
    688 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run: \
    689                 $(VBOX_PATH_MANUAL_SRC)/en_US/Accessibility.xml \
    690                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \
    691                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    692                 $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
     686 # Validating Accessibility.xml. It is invoked automatically at build time,
     687 # but can also be manually invoked via the 'validate-accessibility' alias.
     688 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run: \
     689                $(VBOX_PATH_MANUAL_SRC)/en_US/Accessibility.xml \
     690                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \
     691                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     692                $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@)
    693693        $(call MSG_L1,Validating $<)
    694694        $(QUIET)$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $<
     
    696696
    697697
    698 # Handy aliases.
    699 validate-accessibility:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run
    700 accessibility:: $(PATH_STAGE_BIN)/Accessibility.pdf
    701 accessibility-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html
    702 
    703 
    704 # A few things which are shared between htmlhelp and qhelp docs.
    705 VBOX_DOCBOOK_HTMLHELP_FORMATCFG = \
     698 # Handy aliases.
     699 validate-accessibility:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run
     700 accessibility:: $(PATH_STAGE_BIN)/Accessibility.pdf
     701 accessibility-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html
     702
     703
     704 # A few things which are shared between htmlhelp and qhelp docs.
     705 VBOX_DOCBOOK_HTMLHELP_FORMATCFG = \
    706706        $(VBOX_PATH_MANUAL_SRC)/docbook-htmlhelp-formatcfg.xsl \
    707707        $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \
    708708        $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl
    709709
    710 # Prepare the XSL file for our title page, htmlhelp and qhelp variant.
    711 $(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl: \
    712                 $(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xml $(MAKEFILE_CURRENT) | $$(dir $$@)
     710 # Prepare the XSL file for our title page, htmlhelp and qhelp variant.
     711 $(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl: \
     712                $(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xml $(MAKEFILE_CURRENT) | $$(dir $$@)
    713713        $(call MSG_L1,xsltproc $<)
    714714        $(QUIET)$(RM) -f [email protected] $@
     
    717717
    718718
    719 ifdef VBOX_WITH_DOCS_CHM
    720  #
    721  # VirtualBox.chm
    722  #
    723  # We first generate a .hhp help source file from the preprocessed
    724  # DocBook XML files, as defined above, then feed that into the
    725  # Microsoft Help Compiler.
    726 
    727  # Generate CHM from HHP
    728  # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    729  define def_vbox_usermanual_hhp_to_chm
    730  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    731  $$(out_dir)/VirtualBox.chm: \
    732                 $$(out_dir)/HTMLHelp/htmlhelp.hhp \
    733                 $$(addprefix $$(out_dir)/HTMLHelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \
    734                 | $$$$(dir $$$$@)
     719 ifdef VBOX_WITH_DOCS_CHM
     720  #
     721  # VirtualBox.chm
     722  #
     723  # We first generate a .hhp help source file from the preprocessed
     724  # DocBook XML files, as defined above, then feed that into the
     725  # Microsoft Help Compiler.
     726
     727  # Generate CHM from HHP
     728  # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
     729  define def_vbox_usermanual_hhp_to_chm
     730   local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     731   $$(out_dir)/VirtualBox.chm: \
     732                $$(out_dir)/HTMLHelp/htmlhelp.hhp \
     733                $$(addprefix $$(out_dir)/HTMLHelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \
     734                | $$$$(dir $$$$@)
    735735        $$(call MSG_L1,hhc $$<,=> $$@)
    736736        $$(QUIET)$$(RM) -f $$@
    737737        $$(QUIET)$$(VBOX_HHC) $$(subst /,\\,$$<)
    738738        $$(call MSG_L1,Fresh CHM is now at $$@)
    739  endef
    740  $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_hhp_to_chm))
    741 
    742  # Generate HHP from XML
    743  # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    744  define def_vbox_usermanual_xml_to_hhp
    745  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    746  $$(out_dir)/HTMLHelp/htmlhelp.hhp: \
    747                 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
    748                 $$(VBOX_MANUAL_XML_FILES_COMMON) \
    749                 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
    750                 $$(VBOX_DOCBOOK_HTMLHELP_FORMATCFG) \
    751                 $$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \
    752                 $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \
    753                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    754                 $$(VBOX_XML_ENTITIES) | $$$$(dir $$$$@)
     739  endef
     740  $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_hhp_to_chm))
     741
     742  # Generate HHP from XML
     743  # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
     744  define def_vbox_usermanual_xml_to_hhp
     745   local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     746   $$(out_dir)/HTMLHelp/htmlhelp.hhp: \
     747                $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
     748                $$(VBOX_MANUAL_XML_FILES_COMMON) \
     749                $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
     750                $$(VBOX_DOCBOOK_HTMLHELP_FORMATCFG) \
     751                $$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \
     752                $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \
     753                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     754                $$(VBOX_XML_ENTITIES) | $$$$(dir $$$$@)
    755755        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
    756756        $$(QUIET)$$(RM) -f $$@
     
    760760                $$(HTMLHELPOPTS) $$(VBOX_PATH_MANUAL_SRC)/docbook-htmlhelp-formatcfg.xsl \
    761761                $$<
    762  endef
    763  $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_hhp))
    764 
    765  # copy the PNG files.
    766  # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    767  define def_vbox_cp_images_htmlhelp
    768  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/HTMLHelp
    769  $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
    770                 $$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
     762  endef
     763  $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_hhp))
     764
     765  # copy the PNG files.
     766  # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
     767  define def_vbox_cp_images_htmlhelp
     768   local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/HTMLHelp
     769   $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
     770                $$(out_dir)/% : $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
    771771        $$(call MSG_L1,Copying temporary $$< => $$@)
    772772        $$(QUIET)$$(INSTALL_STAGING) -m0644 -- '$$<' '$$(@D)'
    773  endef
    774  $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(eval $(def_vbox_cp_images_htmlhelp)))
    775 
    776 endif # VBOX_WITH_DOCS_CHM
    777 
    778 
    779 # Packing the docs into a zip file
    780 $(PATH_STAGE_BIN)/VBoxDocumentation.zip: $(VBOX_MANUAL_PACK)
     773  endef
     774  $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(eval $(def_vbox_cp_images_htmlhelp)))
     775
     776 endif # VBOX_WITH_DOCS_CHM
     777
     778
     779 # Packing the docs into a zip file
     780 $(PATH_STAGE_BIN)/VBoxDocumentation.zip: $(VBOX_MANUAL_PACK)
    781781        $(call MSG_L1,Packing documentation $@)
    782782        $(QUIET)$(RM) -f $@
     
    784784
    785785
    786 ##########################################################################################
    787 #
    788 #  UserManual.html
    789 #
    790 ##########################################################################################
    791 VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG = \
    792         $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \
    793         $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \
    794         $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl
    795 
    796 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html: \
    797                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \
    798                 $(VBOX_MANUAL_XML_FILES_COMMON) \
    799                 $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \
    800                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
    801                 $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \
    802                 $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \
    803                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    804                 $(VBOX_XML_ENTITIES) | $$(dir $$@)
     786 ##########################################################################################
     787 #
     788 #  UserManual.html
     789 #
     790 ##########################################################################################
     791 VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG = \
     792        $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \
     793        $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \
     794        $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl
     795
     796 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html: \
     797                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \
     798                $(VBOX_MANUAL_XML_FILES_COMMON) \
     799                $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \
     800                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
     801                $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \
     802                $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \
     803                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     804                $(VBOX_XML_ENTITIES) | $$(dir $$@)
    805805        $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@)
    806806        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \
     
    809809                $<
    810810
    811 VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG = \
    812         $(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl \
    813         $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \
    814         $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl
    815 
    816 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html: \
    817                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \
    818                 $(VBOX_MANUAL_XML_FILES_COMMON) \
    819                 $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \
    820                 $(VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG) \
    821                 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
    822                 $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \
    823                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    824                 $(VBOX_XML_ENTITIES) | $$(dir $$@)
     811 VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG = \
     812        $(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl \
     813        $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \
     814        $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl
     815
     816 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html: \
     817                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \
     818                $(VBOX_MANUAL_XML_FILES_COMMON) \
     819                $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \
     820                $(VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG) \
     821                $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
     822                $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \
     823                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     824                $(VBOX_XML_ENTITIES) | $$(dir $$@)
    825825        $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@)
    826826        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \
     
    830830                $<
    831831
    832 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip: \
    833                 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \
    834                 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \
    835         $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))
     832 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip: \
     833                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \
     834                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \
     835                $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))
    836836        $(call MSG_L1,Packing documentation $@)
    837837        $(QUIET)$(RM) -f $@
     
    839839                -9 -r $@ html-single html-chunks $(VBOX_MANUAL_PNG_FILES_en_US)
    840840
    841 html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html
    842 html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html
    843 qhelp:: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/qhelp/, $(VBOX_QHELP_OUTPUT_FILES))
    844 html-zip:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip
    845 
    846 ##########################################################################################
    847 #
    848 #  Docbook to Dita conversion of our refentry files
    849 #
    850 ##########################################################################################
    851 define def_vbox_refentry_to_dita
    852 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(addsuffix .dita,$(basename $(2))): \
    853                 $$(VBOX_DITA_CONVERTER_PATH)/docbook2dita.xsl \
    854                 $(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) \
    855                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    856                 $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP)| $$$$(dir $$$$@)
     841 html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html
     842 html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html
     843 qhelp:: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/qhelp/, $(VBOX_QHELP_OUTPUT_FILES))
     844 html-zip:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip
     845
     846 ##########################################################################################
     847 #
     848 #  Docbook to Dita conversion of our refentry files
     849 #
     850 ##########################################################################################
     851 define def_vbox_refentry_to_dita
     852  $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(addsuffix .dita,$(basename $(2))): \
     853                $$(VBOX_DITA_CONVERTER_PATH)/docbook2dita.xsl \
     854                $(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) \
     855                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     856                $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
    857857        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
    858858        $$(QUIET)$$(RM) -f "$$@"
    859859        $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --maxdepth 6000 --output $$@ $$(VBOX_DITA_CONVERTER_PATH)/docbook2dita.xsl $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2)
    860 endef
    861 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \
     860 endef
     861 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \
    862862, $(evalcall2 def_vbox_refentry_to_dita,$(lang),$(file))))
    863863
    864 refentry-to-dita: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file, $(basename $(VBOX_MANUAL_XML_REFENTRY_FILES)) \
    865                         ,$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/$(file).dita))
    866 
    867 ##########################################################################################
    868 #
    869 #  Use DITA-OT to create pdf out of UserManual.ditamap. See usermanual.pdf under
    870 #  DITA-OT-xxxxx/doc folder for details.
    871 #
    872 ##########################################################################################
    873 VBOX_DITA_PATH_LIB ?= $(VBOX_DITA_PATH)/lib
    874 VBOX_DITA_ENV_SETUP ?= $(REDIRECT) \
    875         -E 'DITA_CLASSPATH=$(VBOX_DITA_PATH_LIB)/dost.jar' \
    876         -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)' \
    877         -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/commons-codec-1.4.jar' \
     864 refentry-to-dita: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file, $(basename $(VBOX_MANUAL_XML_REFENTRY_FILES)) \
     865                                ,$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/$(file).dita))
     866
     867 ##########################################################################################
     868 #
     869 #  Use DITA-OT to create pdf out of UserManual.ditamap. See usermanual.pdf under
     870 #  DITA-OT-xxxxx/doc folder for details.
     871 #
     872 ##########################################################################################
     873 VBOX_DITA_PATH_LIB ?= $(VBOX_DITA_PATH)/lib
     874 VBOX_DITA_ENV_SETUP ?= $(REDIRECT) \
     875        -E 'DITA_CLASSPATH=$(VBOX_DITA_PATH_LIB)/dost.jar' \
     876        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)' \
     877        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/commons-codec-1.4.jar' \
    878878        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/resolver.jar' \
    879         -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/icu4j.jar' \
     879        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/icu4j.jar' \
    880880        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/xercesImpl.jar' \
    881         -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/xml-apis.jar' \
     881        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/xml-apis.jar' \
    882882        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/saxon/saxon9.jar' \
    883         -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/saxon/saxon9-dom.jar' \
    884         --
    885 
    886 ditamap-to-pdf:
    887 
    888 define def_ditamap_to_pdf
    889  ditamap-to-pdf: $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/UserManual_dita.pdf
    890  $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/UserManual_dita.pdf: \
    891                 $(VBOX_PATH_MANUAL_SRC)/$(1)/some_dita.ditamap
     883        -A 'DITA_CLASSPATH=:$(VBOX_DITA_PATH_LIB)/saxon/saxon9-dom.jar' \
     884        --
     885
     886 ditamap-to-pdf:
     887
     888 define def_ditamap_to_pdf
     889  ditamap-to-pdf: $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/UserManual_dita.pdf
     890  $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/UserManual_dita.pdf: \
     891                $(VBOX_PATH_MANUAL_SRC)/$(1)/some_dita.ditamap
    892892        $(QUIET)$(call VBOX_DITA_ENV_SETUP) \
    893893                $(VBOX_JAVA) -jar lib/dost.jar /i:$$(VBOX_PATH_MANUAL_SRC)/$(1)/some_dita.ditamap /transtype:pdf
    894 endef
    895 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_ditamap_to_pdf,$(lang)))
    896 
    897 #
    898 # ChangeLog.html
    899 #
    900 # This XSLT rule formats en_US/user_ChangeLog.xml (which includes the actual change log
    901 # contained in user_ChangeLogImpl.xml) as a standalone HTML file.
    902 #
    903 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html: \
    904                 $(VBOX_PATH_MANUAL_SRC)/en_US/docbook-changelog-formatcfg.xsl \
    905                 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/user_ChangeLog.xml \
    906                 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
    907                 $(VBOX_XML_ENTITIES) | $$(dir $$@)
     894 endef
     895 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_ditamap_to_pdf,$(lang)))
     896
     897 #
     898 # ChangeLog.html
     899 #
     900 # This XSLT rule formats en_US/user_ChangeLog.xml (which includes the actual change log
     901 # contained in user_ChangeLogImpl.xml) as a standalone HTML file.
     902 #
     903 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html: \
     904                $(VBOX_PATH_MANUAL_SRC)/en_US/docbook-changelog-formatcfg.xsl \
     905                $(VBOX_PATH_MANUAL_OUTBASE)/en_US/user_ChangeLog.xml \
     906                $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \
     907                $(VBOX_XML_ENTITIES) | $$(dir $$@)
    908908        $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@)
    909909        $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --output "$@" "$<" $(filter %.xml,$^)
    910910        $(call MSG_L1,Fresh ChangeLog.html is now at $@)
    911911
    912 cl-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html
     912 cl-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html
    913913
    914914
     
    928928# @param    2   The file name (no path).
    929929define def_vbox_refentry_to_manpage
    930 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(2): \
    931                 $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) \
    932                 $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \
    933                 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT) \
    934                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    935                 $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
     930 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(2): \
     931                $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) \
     932                $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \
     933                $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT) \
     934                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     935                $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
    936936        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
    937937        $$(QUIET)$$(RM) -f "$$@"
     
    940940        $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output [email protected] $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT) $$@
    941941        $$(QUIET)$$(MV) -f -- "[email protected]" "$$@"
    942 if defined(VBOX_HAVE_XMLLINT)
     942 if defined(VBOX_HAVE_XMLLINT)
    943943        $$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$@
    944 endif
    945 
    946 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(patsubst man_%,%.1,$(basename $(2))): \
    947                 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(2) \
    948                 $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage.xsl \
    949                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    950                 $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
     944 endif
     945
     946 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(patsubst man_%,%.1,$(basename $(2))): \
     947                $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(2) \
     948                $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage.xsl \
     949                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     950                $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
    951951        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
    952952        $$(QUIET)$$(RM) -f "$$@"
     
    968968 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    969969 define def_vbox_usermanual_qhp_to_qch
    970  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    971  $$(out_dir)/qhelp/UserManual.qch + \
    972  $$(out_dir)/qhelp/UserManual.qhc: \
    973                 $$(out_dir)/qhelp/UserManual.qhcp \
    974                 $$(out_dir)/qhelp/UserManual.qhp \
    975                 $$(addprefix $$(out_dir)/qhelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \
    976                 | $$$$(dir $$$$@)
     970  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     971  $$(out_dir)/qhelp/UserManual.qch + \
     972  $$(out_dir)/qhelp/UserManual.qhc: \
     973                $$(out_dir)/qhelp/UserManual.qhcp \
     974                $$(out_dir)/qhelp/UserManual.qhp \
     975                $$(addprefix $$(out_dir)/qhelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \
     976                | $$$$(dir $$$$@)
    977977        $$(call MSG_L1,$$(notdir $$(QHELPGENERATOR)) $$<,=> $$@)
    978978        $$(QUIET)$$(RM) -f $$@
     
    985985 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    986986 define def_vbox_usermanual_hhp_qhelp_to_qhp
    987  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    988  $$(out_dir)/qhelp/UserManual.qhp: \
    989                 $$(out_dir)/qhelp/htmlhelp.hhp \
    990                 $$(addprefix $$(out_dir)/qhelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \
    991                 | $$$$(dir $$$$@)
     987  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     988  $$(out_dir)/qhelp/UserManual.qhp: \
     989                $$(out_dir)/qhelp/htmlhelp.hhp \
     990                $$(addprefix $$(out_dir)/qhelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \
     991                | $$$$(dir $$$$@)
    992992        $$(call MSG_L1,htmlhelp-qthelp.py $$<,=> $$@)
    993993        $$(QUIET)$$(RM) -f $$@
     
    999999 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    10001000 define def_vbox_usermanual_xml_to_hhp_qhelp
    1001  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
    1002  $$(out_dir)/qhelp/htmlhelp.hhp: \
    1003                 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
    1004                 $$(VBOX_MANUAL_XML_FILES_COMMON) \
    1005                 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
    1006                 $$(VBOX_DOCBOOK_HTMLHELP_FORMATCFG) \
    1007                 $$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \
    1008                 $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \
    1009                 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
    1010                 $$(VBOX_XML_ENTITIES) | $$$$(dir $$$$@)
     1001  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
     1002  $$(out_dir)/qhelp/htmlhelp.hhp: \
     1003                $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \
     1004                $$(VBOX_MANUAL_XML_FILES_COMMON) \
     1005                $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \
     1006                $$(VBOX_DOCBOOK_HTMLHELP_FORMATCFG) \
     1007                $$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \
     1008                $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \
     1009                $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
     1010                $$(VBOX_XML_ENTITIES) | $$$$(dir $$$$@)
    10111011        $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
    10121012        $$(QUIET)$$(RM) -f $$@
     
    10211021 # copy the qhcp file.
    10221022 define def_vbox_cp_qhcp
    1023  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/qhelp
    1024  $$(out_dir)/UserManual.qhcp: \
    1025                 $$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/% | $$$$(dir $$$$@)
     1023  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/qhelp
     1024  $$(out_dir)/UserManual.qhcp: \
     1025                $$(out_dir)/% : $(VBOX_PATH_MANUAL_SRC)/% | $$$$(dir $$$$@)
    10261026        $$(QUIET)$$(INSTALL_STAGING) -m0644 -- '$$<' '$$(@D)'
    10271027 endef
     
    10311031 # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
    10321032 define def_vbox_cp_images_qhelp
    1033  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/qhelp
    1034  $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
    1035                 $$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
     1033  local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/qhelp
     1034  $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
     1035                $$(out_dir)/% : $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
    10361036        $$(call MSG_L1,Copying temporary $$< => $$@)
    10371037        $$(QUIET)$$(INSTALL_STAGING) -m0644 -- '$$<' '$$(@D)'
     
    10451045validate-manpages:: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_XML_REFENTRY_FILES))
    10461046man-experiment:: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \
    1047                         ,$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/$(patsubst man_%,%.1,$(basename $(file)))))
     1047                                ,$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/$(patsubst man_%,%.1,$(basename $(file)))))
    10481048
    10491049#
Note: See TracChangeset for help on using the changeset viewer.

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