- Timestamp:
- Mar 17, 2023 10:17:54 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 156399
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manual/Makefile.kmk
r99033 r99034 169 169 170 170 ## @todo r=bird: Explanations for all of this is required! 171 .NOTPARALLEL: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/qhelp/UserManual.qch 171 .NOTPARALLEL: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/qhelp/UserManual.qch \ 172 172 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.qhc \ 173 173 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.pdf \ … … 450 450 ########################################################################################## 451 451 452 ifdef TO_BE_REMOVED453 # Generate PDF from LaTeX454 # Note: out_dir referenced with double $$ to delay expansion to the eval step when out_dir has been defined.455 define def_vbox_usermanual_tex_to_pdf456 local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)457 $$(out_dir)/UserManual.pdf: \458 $$(out_dir)/UserManual.tex \459 $$(if $$(VBOX_OSE),,$$(out_dir)/ucs.sty) \460 $$(addprefix $$(out_dir)/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) | $$$$(dir $$$$@)461 # PDF generation via Latex: generate the .tex file462 $$(call MSG_L1,pdflatex $$< (four passes) -> $$@)463 $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex464 $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex465 $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex466 $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex467 $$(QUIET)$$(SED) -ne '/Warning: Hyper reference/p' $$(basename $$<).log468 $$(QUIET)$$(SED) -n \469 -e '/Warning: There were \(undefined references\|multiply-defined labels\)/{p; q 1}' \470 $$(basename $$@).log471 $$(call MSG_L1,Fresh LaTeX-generated PDF is now at $$@)472 endef473 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_tex_to_pdf))474 475 # Generate LaTeX from XML476 # Note: out_dir referenced with double $$ to delay expansion to the eval step when out_dir has been defined.477 define def_vbox_usermanual_xml_to_tex478 local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)479 $$(out_dir)/UserManual.tex: \480 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \481 $$(VBOX_MANUAL_XML_FILES_COMMON) \482 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \483 $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \484 $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \485 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \486 $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@)487 $$(call MSG_TOOL,xsltproc $$(notdir $$(filter %.xsl,$$^)),,$$(firstword $$(filter %.xml,$$^)),$$@)488 $$(QUIET)$$(RM) -f $$(addprefix $$(@D)/,$$(VBOX_MANUAL_LATEX_FILES_TARGET))489 # generate TeX source from processed docbook and store it in UserManual.tex.tmp;490 # pass current language to xsltproc in TARGETLANG variable491 $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG $(lang) \492 -o [email protected] $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $$<493 # for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;494 # the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections495 $$(QUIET)$$(SED) \496 -e 's|^\\QUOTE{}|\\OQ{}|g' \497 -e 's|\(\W\)\\QUOTE{}|\1\\OQ{}|g' \498 -e 's|\(\w\)\\QUOTE{}|\1\\CQ{}|g' \499 --output $$@ [email protected]500 $$(QUIET)$$(RM) -f [email protected]501 endef502 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_tex))503 endif # TO_BE_REMOVED504 452 # Useful aliases 505 453 usermanual UserManual.pdf:: $(PATH_STAGE_BIN)/UserManual.pdf 506 507 debug-usermanual:508 $(MAKE) --pretty-command-printing -j1 VBOX_PDFLATEX_INTERACTION=errorstopmode $(PATH_STAGE_BIN)/UserManual.pdf509 510 ifdef TO_BE_REMOVED511 #512 # Generate rules for validating the UserManual.xml. These are invoked513 # automatically at build time, but can also be manually invoked via the514 # 'validatemanual' and 'validatemanual_<lang>' aliases.515 #516 define def_vbox_validate_xml517 validatemanual_$(lang):: $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run518 $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run: \519 $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \520 $$(VBOX_MANUAL_XML_FILES_COMMON) \521 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \522 $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \523 $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@)524 $$(call MSG_L1,Validating $$<)525 $$(QUIET)$$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$<526 $$(QUIET)$$(APPEND) -t "$$@" "done"527 endef528 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_validate_xml))529 530 531 # Handy aliases.532 validatemanual:: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),validatemanual_$(lang))533 endif # TO_BE_REMOVED534 454 535 455 … … 702 622 ########################################################################################## 703 623 704 ifdef TO_BE_REMOVED705 VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG = \706 $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \707 $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \708 $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl709 710 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html: \711 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \712 $(VBOX_MANUAL_XML_FILES_COMMON) \713 $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \714 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \715 $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \716 $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \717 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \718 $(VBOX_XML_ENTITIES) | $$(dir $$@)719 $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@)720 $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \721 --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \722 $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \723 $<724 725 VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG = \726 $(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl \727 $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \728 $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl729 730 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html: \731 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \732 $(VBOX_MANUAL_XML_FILES_COMMON) \733 $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \734 $(VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG) \735 $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \736 $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \737 $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \738 $(VBOX_XML_ENTITIES) | $$(dir $$@)739 $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@)740 $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \741 --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \742 --stringparam chunk.section.depth 0 \743 $(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl \744 $<745 746 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip: \747 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \748 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \749 $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))750 $(call MSG_L1,Packing documentation $@)751 $(QUIET)$(RM) -f $@752 $(QUIET)$(REDIRECT) -C $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ -- $(VBOX_ZIP) \753 -9 -r $@ html-single html-chunks $(VBOX_MANUAL_PNG_FILES_en_US)754 endif # TO_BE_REMOVED755 756 624 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip: \ 757 625 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html … … 776 644 qhelp:: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/qhelp/, $(VBOX_QHELP_OUTPUT_FILES)) 777 645 html-zip:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip 646 778 647 779 648 ##########################################################################################
Note:
See TracChangeset
for help on using the changeset viewer.