# Copyright 2014-2023 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 # Configure Vulkan spec Antora tree with generated files and transformed # markup files. # Branch selection will come later. For now it is the current branch. RMRF = rm -rf JSAPIMAP = ./gen/apimap.cjs XREFMAPS = $(PYXREFMAP) $(JSXREFMAP) PYXREFMAP = antora/xrefMap.py JSXREFMAP = antora/xrefMap.cjs JSPAGEMAP = antora/modules/ROOT/partials/gen/pageMap.cjs setup: setup_spec setup_proposals # Rewrite Vulkan spec sources and images into the module directory, ROOT # component # Page headers are added to pull in required attributes # Also creates apimap.cjs, pageMap.cjs, and xrefMap.cjs for use by the # Antora version of the spec macros. They are copied into the Antora # playbook repository prior to building the site. setup_spec: xrefmaps spec_pages # Generate the (anchor name -> [ chapter anchor, anchor title ]) maps # (xrefMap.py / xrefMap.cjs), and the API information (jsapi / # apimap.cjs) from spec HTML xrefmaps: $(RMRF) gen ./makeSpec QUIET=@ -clean -spec all -genpath gen generated jsapi html scripts/map_html_anchors.py gen/out/html/vkspec.html \ -pyfile $(PYXREFMAP) -jsfile $(JSXREFMAP) # Rewrite spec sources # Individual files must be specified last spec_pages: scripts/antora-prep.py \ -root . \ -component $(shell realpath antora/modules/ROOT) \ -xrefpath antora \ -pageHeaders antora/pageHeaders-spec.adoc \ -pagemappath $(JSPAGEMAP) \ ./config/attribs.adoc \ ./config/copyright-ccby.adoc \ ./config/copyright-spec.adoc \ ./images/*.svg \ `find ./gen ./chapters ./appendices -name '[A-Za-z]*.adoc' | grep -v /vulkanscdeviations.adoc` \ $(JSAPIMAP) # Rewrite proposals into the module directory, 'proposals' component # No additional pageHeaders required. setup_proposals: scripts/antora-prep.py \ -root . \ -component $(shell realpath antora/modules/proposals) \ -xrefpath antora \ ./images/tile_image.svg \ `find ./proposals -name '[A-Za-z]*.adoc'` # Files generated by 'setup' target ANTORA_GENERATED = \ antora/modules/ROOT/images \ antora/modules/ROOT/pages/appendices \ antora/modules/ROOT/pages/chapters \ antora/modules/ROOT/pages/gen \ antora/modules/ROOT/partials \ antora/modules/proposals/pages/proposals \ antora/modules/proposals/partials \ antora/modules/proposals/images \ $(JSXREFMAP) \ $(PYXREFMAP) clean: $(RMRF) $(ANTORA_GENERATED)