1 | # $Id: Config.kmk 85683 2020-08-11 11:03:42Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # kBuild Configuration file for the manual.
|
---|
4 | #
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Copyright (C) 2010-2020 Oracle Corporation
|
---|
8 | #
|
---|
9 | # This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
10 | # available from http://www.virtualbox.org. This file is free software;
|
---|
11 | # you can redistribute it and/or modify it under the terms of the GNU
|
---|
12 | # General Public License (GPL) as published by the Free Software
|
---|
13 | # Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
14 | # VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
15 | # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
16 | #
|
---|
17 |
|
---|
18 | ifndef VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED
|
---|
19 | VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED = 1
|
---|
20 |
|
---|
21 | # Include the top-level configure file.
|
---|
22 | ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
|
---|
23 | include $(PATH_ROOT)/Config.kmk
|
---|
24 | endif
|
---|
25 |
|
---|
26 |
|
---|
27 | #
|
---|
28 | # Globals.
|
---|
29 | #
|
---|
30 |
|
---|
31 | # Source location.
|
---|
32 | VBOX_PATH_MANUAL_SRC := $(PATH_ROOT)/doc/manual
|
---|
33 | # Output location.
|
---|
34 | VBOX_PATH_MANUAL_OUTBASE := $(PATH_OBJ)/manual
|
---|
35 |
|
---|
36 | ## List of refentry files (manpages).
|
---|
37 | VBOX_MANUAL_XML_REFENTRY_FILES := \
|
---|
38 | man_VBoxManage-snapshot.xml \
|
---|
39 | man_VBoxManage-clonevm.xml \
|
---|
40 | man_VBoxManage-mediumio.xml \
|
---|
41 | man_VBoxManage-sharedfolder.xml \
|
---|
42 | man_VBoxManage-dhcpserver.xml \
|
---|
43 | man_VBoxManage-debugvm.xml \
|
---|
44 | man_VBoxManage-extpack.xml \
|
---|
45 | man_VBoxManage-unattended.xml \
|
---|
46 | man_VBoxManage-cloud.xml \
|
---|
47 | man_VBoxManage-cloudprofile.xml \
|
---|
48 | man_VBoxManage-signova.xml \
|
---|
49 | man_VBoxManage-updatecheck.xml
|
---|
50 |
|
---|
51 | ## List of user manual XML files.
|
---|
52 | VBOX_MANUAL_XML_FILES = \
|
---|
53 | UserManual.xml \
|
---|
54 | user_Preface.xml \
|
---|
55 | user_Introduction.xml \
|
---|
56 | user_Installation.xml \
|
---|
57 | user_BasicConcepts.xml \
|
---|
58 | user_GuestAdditions.xml \
|
---|
59 | user_Storage.xml \
|
---|
60 | user_Networking.xml \
|
---|
61 | user_Frontends.xml \
|
---|
62 | user_VBoxManage.xml \
|
---|
63 | user_AdvancedTopics.xml \
|
---|
64 | user_Technical.xml \
|
---|
65 | user_VirtualBoxAPI.xml \
|
---|
66 | user_Troubleshooting.xml \
|
---|
67 | user_Security.xml \
|
---|
68 | user_KnownIssues.xml \
|
---|
69 | user_ChangeLog.xml \
|
---|
70 | user_ThirdParty.xml \
|
---|
71 | user_PrivacyPolicy.xml \
|
---|
72 | user_Glossary.xml \
|
---|
73 | oracle-accessibility-en.xml \
|
---|
74 | oracle-support-en.xml
|
---|
75 |
|
---|
76 | ## List of user manual XML files common for all languages.
|
---|
77 | VBOX_MANUAL_XML_FILES_COMMON = \
|
---|
78 | $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml
|
---|
79 |
|
---|
80 |
|
---|
81 | # Tool locations.
|
---|
82 | ifndef VBOX_OSE
|
---|
83 | # use docbook from our tools directory
|
---|
84 | VBOX_PATH_DOCBOOK ?= $(KBUILD_DEVTOOLS)/common/DocBook/v1.69.1
|
---|
85 | VBOX_PATH_DOCBOOK_DTD ?= $(KBUILD_DEVTOOLS)/common/docbook-xml/v4.5
|
---|
86 | else
|
---|
87 | # use docbook of the build host
|
---|
88 | VBOX_PATH_DOCBOOK ?= /usr/share/xml/docbook/stylesheet/docbook-xsl
|
---|
89 | VBOX_PATH_DOCBOOK_DTD ?= /usr/share/xml/docbook/schema/dtd/4.5
|
---|
90 | endif
|
---|
91 | VBOX_XML_CATALOG ?= $(VBOX_PATH_MANUAL_OUTBASE)/catalog
|
---|
92 | VBOX_XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook
|
---|
93 | VBOX_XML_CATALOG_MANUAL ?= $(VBOX_PATH_MANUAL_OUTBASE)/manual
|
---|
94 | VBOX_XML_ENTITIES ?= $(VBOX_PATH_MANUAL_OUTBASE)/all-entities.ent
|
---|
95 |
|
---|
96 | # xsltproc with the catalog trick if applicable (set XML_DEBUG_CATALOG to
|
---|
97 | # non-zero value to debug file/uri resolution through the catalogs, using
|
---|
98 | # one of them is enough, they show the same information).
|
---|
99 | ifdef VBOX_XML_CATALOG
|
---|
100 | VBOX_XSLTPROC_WITH_CAT = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -E "XML_DEBUG_CATALOG=" $1 -- \
|
---|
101 | $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
---|
102 | VBOX_XMLLINT_WITH_CAT = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -E "XML_DEBUG_CATALOG=" -- \
|
---|
103 | $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
---|
104 | else
|
---|
105 | VBOX_XSLTPROC_WITH_CAT = $(if $(1), $(REDIRECT) $1 --,) $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) \
|
---|
106 | --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
---|
107 | VBOX_XMLLINT_WITH_CAT = $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
---|
108 | endif
|
---|
109 |
|
---|
110 |
|
---|
111 | # Location of the generate stylesheet for transformating xref elements into
|
---|
112 | # name user manual sections.
|
---|
113 | VBOX_XML_XREF_TO_TEXT = $(VBOX_PATH_MANUAL_OUTBASE)/xref-to-text.xsl
|
---|
114 |
|
---|
115 | ##
|
---|
116 | # Emits rules for preprocessing refentry sources (applying remarks element),
|
---|
117 | # and for producing the actual man pages.
|
---|
118 | #
|
---|
119 | # $(evalcall2 def_vbox_refentry_to_manpage)
|
---|
120 | # @param 1 The output directory.
|
---|
121 | # @param 2 The XML file name (no path).
|
---|
122 | # @param 3 The XML file with full path.
|
---|
123 | # @param 4 Non-empty if xrefs to replace.
|
---|
124 | define def_vbox_refentry_preprocess_for_manpage
|
---|
125 | $(1)/$(2): \
|
---|
126 | $(3) \
|
---|
127 | $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \
|
---|
128 | $(if $(4),$$(VBOX_XML_XREF_TO_TEXT),) \
|
---|
129 | $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
|
---|
130 | $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
|
---|
131 | $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
|
---|
132 | $$(QUIET)$$(RM) -f "$$@"
|
---|
133 | $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ \
|
---|
134 | "$$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl" $$<
|
---|
135 | ifneq ($(4),)
|
---|
136 | $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@.tmp $$(VBOX_XML_XREF_TO_TEXT) $$@
|
---|
137 | $$(QUIET)$$(MV) -f -- "$$@.tmp" "$$@"
|
---|
138 | endif
|
---|
139 | if defined(VBOX_HAVE_XMLLINT) && "$(USER)" == "bird" # Effing stuff happends on build servers, probably kmk related...
|
---|
140 | $$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$@
|
---|
141 | endif
|
---|
142 | endef
|
---|
143 |
|
---|
144 | ##
|
---|
145 | # Generate a single header file containing everything (no C file).
|
---|
146 | #
|
---|
147 | # @param 1 Destination file.
|
---|
148 | # @param 2 Full source file path.
|
---|
149 | # @param 3 Help infix.
|
---|
150 | define def_vbox_single_refentry_to_h
|
---|
151 | $(1).ts +| $(1): \
|
---|
152 | $$(VBOX_DOCBOOK_REFENTRY_TO_C_HELP) \
|
---|
153 | $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) \
|
---|
154 | $(2) \
|
---|
155 | $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $(MAKEFILE) | $$$$(dir $$$$@)
|
---|
156 | $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(filter %.xml,$$^),$$(patsubst %.ts,%,$$@))
|
---|
157 | $$(QUIET)$$(APPEND) -tn "$$@" \
|
---|
158 | '/* Autogenerated by $$(notdir $$(filter %.xsl,$$^)), do not edit! */' \
|
---|
159 | '' \
|
---|
160 | '#include <iprt/message.h>' \
|
---|
161 | '' \
|
---|
162 | 'typedef enum HELP_CMD_$(3)' \
|
---|
163 | '{' \
|
---|
164 | ' HELP_CMD_INVALID = 0,'
|
---|
165 | $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -a+to "$$@") \
|
---|
166 | --stringparam 'g_sMode' 'cmd' $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) $(2)
|
---|
167 | $$(QUIET)$$(APPEND) -n "$$@" \
|
---|
168 | ' HELP_CMD_END' \
|
---|
169 | '} HELP_CMD_VBOXMANAGE;' \
|
---|
170 | ''
|
---|
171 | $$(NLTAB)$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -a+to "$$@") \
|
---|
172 | --stringparam 'g_sMode' 'subcmd' $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) $(2)
|
---|
173 | $$(QUIET)$$(APPEND) -n "$$@" \
|
---|
174 | ''
|
---|
175 | $$(NLTAB)$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -a+to "$$@") $$(VBOX_DOCBOOK_REFENTRY_TO_C_HELP) $(2)
|
---|
176 | $$(QUIET)$$(APPEND) -n "$$@" \
|
---|
177 | '' \
|
---|
178 | '/* end of file */'
|
---|
179 | $$(QUIET)$$(CP) --changed -- "$$@" "$$(patsubst %.ts,%,$$@)"
|
---|
180 | endef
|
---|
181 |
|
---|
182 |
|
---|
183 | #
|
---|
184 | # Make sure we've got a rule to make the output directory.
|
---|
185 | #
|
---|
186 | BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
|
---|
187 |
|
---|
188 |
|
---|
189 | ifdef VBOX_XML_CATALOG
|
---|
190 | # Trickery for making sure that the file:/// URLs end up with exactly 3
|
---|
191 | # slashes, both on Unixy OSes (where the absolute path contributes one more,
|
---|
192 | # and some very picky xsltproc variants are floating around which do not work
|
---|
193 | # quite correctly with file:////, doing incorrect filename transformations)
|
---|
194 | # and on Windows (where the absolute path starts with a drive letter).
|
---|
195 | VBOX_FILE_URL_MAYBE_SLASH = $(if $(eq $(KBUILD_HOST),win),/,)
|
---|
196 | #
|
---|
197 | # To avoid network I/O for fetching DTDs, we generate catalogs mapping the public
|
---|
198 | # entity IDs to local files. (Obviously, only done when we have local files.)
|
---|
199 | #
|
---|
200 | # Create a catalog file for xsltproc that points to docbook catalog.
|
---|
201 | $(VBOX_XML_CATALOG): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
|
---|
202 | $(call MSG_L1,Creating catalog $@)
|
---|
203 | $(QUIET)$(APPEND) -tn "$@" \
|
---|
204 | '<?xml version="1.0"?>' \
|
---|
205 | '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
---|
206 | '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
---|
207 | ' <delegatePublic publicIdStartString="-//OASIS/ENTITIES DocBook XML" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
---|
208 | ' <delegatePublic publicIdStartString="-//OASIS/DTD DocBook XML" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
---|
209 | ' <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
---|
210 | ' <delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
---|
211 | ' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
---|
212 | ' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
---|
213 | ' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
---|
214 | ' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
---|
215 | ' <delegateURI uriStartString="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
---|
216 | ' <delegateURI uriStartString="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
---|
217 | '</catalog>'
|
---|
218 |
|
---|
219 | # Create a docbook catalog file for xsltproc that points to the local docbook files.
|
---|
220 | $(VBOX_XML_CATALOG_DOCBOOK): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
|
---|
221 | $(call MSG_L1,Creating catalog $@)
|
---|
222 | $(QUIET)$(APPEND) -tn "$@" \
|
---|
223 | '<?xml version="1.0"?>' \
|
---|
224 | '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
---|
225 | '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
---|
226 | ' <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbpoolx.mod"/>' \
|
---|
227 | ' <public publicId="-//OASIS//DTD DocBook XML V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd"/>' \
|
---|
228 | ' <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbcentx.mod"/>' \
|
---|
229 | ' <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbnotnx.mod"/>' \
|
---|
230 | ' <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbgenent.mod"/>' \
|
---|
231 | ' <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbhierx.mod"/>' \
|
---|
232 | ' <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/soextblx.dtd"/>' \
|
---|
233 | ' <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/calstblx.dtd"/>' \
|
---|
234 | ' <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)"/>' \
|
---|
235 | ' <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)"/>' \
|
---|
236 | ' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsa.ent"/>' \
|
---|
237 | ' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsb.ent"/>' \
|
---|
238 | ' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsc.ent"/>' \
|
---|
239 | ' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsn.ent"/>' \
|
---|
240 | ' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amso.ent"/>' \
|
---|
241 | ' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsr.ent"/>' \
|
---|
242 | ' <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-box.ent"/>' \
|
---|
243 | ' <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr1.ent"/>' \
|
---|
244 | ' <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr2.ent"/>' \
|
---|
245 | ' <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-dia.ent"/>' \
|
---|
246 | ' <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk1.ent"/>' \
|
---|
247 | ' <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk2.ent"/>' \
|
---|
248 | ' <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk3.ent"/>' \
|
---|
249 | ' <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk4.ent"/>' \
|
---|
250 | ' <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat1.ent"/>' \
|
---|
251 | ' <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat2.ent"/>' \
|
---|
252 | ' <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-num.ent"/>' \
|
---|
253 | ' <public publicId="ISO 8879:1986//ENTITIES Publishing//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-pub.ent"/>' \
|
---|
254 | ' <public publicId="ISO 8879:1986//ENTITIES General Technical//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-tech.ent"/>' \
|
---|
255 | '</catalog>'
|
---|
256 |
|
---|
257 | # Create a docbook catalog file for xsltproc that points to the local manual files in non-default locations
|
---|
258 | $(VBOX_XML_CATALOG_MANUAL): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
|
---|
259 | $(call MSG_L1,Creating catalog $@)
|
---|
260 | $(QUIET)$(APPEND) -tn "$@" \
|
---|
261 | '<?xml version="1.0"?>' \
|
---|
262 | '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
---|
263 | '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
---|
264 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-accessibility-en.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-accessibility-en.xml"/>' \
|
---|
265 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-support-en.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-support-en.xml"/>' \
|
---|
266 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/user_ChangeLogImpl.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml"/>' \
|
---|
267 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl"/>' \
|
---|
268 | $(foreach x,user_VBoxManage_CommandsOverview.xml user_isomakercmd-man.xml $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES) man_VBoxHeadless.xml man_vboximg-mount.xml)\
|
---|
269 | ,' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/$(x)" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/en_US/$(x)"/>') \
|
---|
270 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/SDKRef_apiref.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef_apiref.xml"/>' \
|
---|
271 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/all-entities.ent" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/all-entities.ent"/>' \
|
---|
272 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/html/docbook.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/html/docbook.xsl"/>' \
|
---|
273 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/html/chunk.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/html/chunk.xsl"/>' \
|
---|
274 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/htmlhelp/htmlhelp.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/htmlhelp/htmlhelp.xsl"/>' \
|
---|
275 | ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/manpages/docbook.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/manpages/docbook.xsl"/>' \
|
---|
276 | '</catalog>'
|
---|
277 |
|
---|
278 | endif # VBOX_XML_CATALOG
|
---|
279 |
|
---|
280 |
|
---|
281 | ifdef VBOX_XML_ENTITIES
|
---|
282 |
|
---|
283 | $(VBOX_XML_ENTITIES): $(VBOX_PATH_MANUAL_SRC)/Config.kmk $(VBOX_VERSION_STAMP) | $$(dir $$@)
|
---|
284 | $(call MSG_L1,Creating entities $@)
|
---|
285 | $(QUIET)$(APPEND) -tn "$@" \
|
---|
286 | '<!-- Entities for product names -->' \
|
---|
287 | '<!ENTITY product-version "$(VBOX_VERSION_STRING)">' \
|
---|
288 | '<!ENTITY product-name "Oracle VM VirtualBox">' \
|
---|
289 | '<!ENTITY oci "Oracle Cloud Infrastructure">' \
|
---|
290 | '' \
|
---|
291 | '<!-- VBox placeholder entities -->' \
|
---|
292 | '<!ENTITY VBOX_VERSION_MAJOR "$(VBOX_VERSION_MAJOR)" >' \
|
---|
293 | '<!ENTITY VBOX_VERSION_MINOR "$(VBOX_VERSION_MINOR)" >' \
|
---|
294 | '<!ENTITY VBOX_VERSION_BUILD "$(VBOX_VERSION_MINOR)" >' \
|
---|
295 | '<!ENTITY VBOX_VERSION_STRING "$(VBOX_VERSION_STRING)" >' \
|
---|
296 | '<!ENTITY VBOX_VENDOR "$(VBOX_VENDOR)" >' \
|
---|
297 | '<!ENTITY VBOX_C_YEAR "$(VBOX_C_YEAR)" >' \
|
---|
298 | '<!ENTITY VBOX_PRODUCT '\''<trademark class="registered">Oracle</trademark> VM <trademark class="registered">VirtualBox</trademark>'\'' >' \
|
---|
299 | '' \
|
---|
300 | '<!-- Entities for Oracle Help Center -->' \
|
---|
301 | '<!ENTITY ohc-base-url "https://docs.oracle.com/en">' \
|
---|
302 | '<!ENTITY ohc-doc-page "&ohc-base-url;/virtualization/virtualbox/index.html">'
|
---|
303 |
|
---|
304 | endif # VBOX_XML_ENTITIES
|
---|
305 |
|
---|
306 |
|
---|
307 | ## Produce stylesheet for translating cross references (xref) to user manual
|
---|
308 | # chapters and sections in the man pages and --help output.
|
---|
309 | #
|
---|
310 | # Note! This requires processing UserManual.xml as a single document in order
|
---|
311 | # to get the correct chapter and section numbering, so we use a catalog
|
---|
312 | # file to replace the generated XML documents it includes with a dummy
|
---|
313 | # one. This reduces the dependencies and recipies we require to build
|
---|
314 | # VBoxManage and the RTIsoMaker (w/ derivatives).
|
---|
315 | $(VBOX_XML_XREF_TO_TEXT) + $(VBOX_XML_XREF_TO_TEXT).cat: \
|
---|
316 | $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-link-replacement-xsl-gen.xsl \
|
---|
317 | $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \
|
---|
318 | $(VBOX_MANUAL_XML_FILES_COMMON) \
|
---|
319 | $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) $(VBOX_XML_ENTITIES) \
|
---|
320 | | $$(dir $$@)
|
---|
321 | $(call MSG_L1,Creating stylesheet $@)
|
---|
322 | $(QUIET)$(APPEND) -nt "$(VBOX_XML_XREF_TO_TEXT).cat" \
|
---|
323 | '<?xml version="1.0"?>' \
|
---|
324 | '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
---|
325 | '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
---|
326 | $(foreach x,user_VBoxManage_CommandsOverview.xml user_isomakercmd-man.xml $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES))\
|
---|
327 | ,' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/$(x)" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/dummy-sect1.xml"/>') \
|
---|
328 | ' <nextCatalog catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG)"/>' \
|
---|
329 | '</catalog>'
|
---|
330 | $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT, -E "XML_CATALOG_FILES=$(VBOX_XML_XREF_TO_TEXT).cat") \
|
---|
331 | --output "$@" "$<" $(filter %UserManual.xml,$^)
|
---|
332 |
|
---|
333 | #
|
---|
334 | # Generate rules for editing the refentry to C/H style sheets.
|
---|
335 | #
|
---|
336 | VBOX_DOCBOOK_REFENTRY_TO_C_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-C-help.xsl
|
---|
337 |
|
---|
338 | VBOX_DOCBOOK_REFENTRY_TO_H_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-H-help.xsl
|
---|
339 |
|
---|
340 | #
|
---|
341 | # Manual dependency.
|
---|
342 | #
|
---|
343 | $(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-C-help.xsl: $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl
|
---|
344 |
|
---|
345 |
|
---|
346 | endif # !defined(VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED)
|
---|
347 |
|
---|