Vulkan-Docs Build
Introduction
KhronosGroup/Vulkan-Docs包含了Vulkan API技术文档和相关工具。
Vulkan Version | Last Updated Tag |
---|---|
1.0 | v1.0.69-core |
1.1 | v1.1.130 |
1.2 | v1.2.174 (Current) |
Build
Testing Environment
- Windows Subsystem for Linux 2.0
- Ubuntu 20.04.2 LTS
Requirement
Vulkan-Docs的构建需要ruby
环境。主要是因为它用到一个asciidoctor-mathematical
的工具包, 而它又依赖mathematical
, 所以正确的安装顺序是
1 | apt-get -qq -y install ruby-dev |
1 | apt-get -qq -y install bison flex libffi-dev libxml2-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev |
1 | gem install asciidoctor-mathematical |
除此之外,还需要安装
1 | gem install coderay |
Scripts
所有的HTML,PDF都是通过脚本基于xml/vk.xml
生成的。比方要生成所有extensions相关的环境变量需要的脚本是scripts/make_ext_dependency.py
.
Targets
Vulkan-Docs的构建系统基本上是make
+ shell
+ python
. 它的顶层目录包含一个Makefile
, 几乎包含了所有构建对象,其它的构建脚本基本上是make VAR="$VALUE" TARGET $*
的调用形式。 这个Makefile里定义的目标大概有以下这些:
- all
- allchecks
- alldocs
- allman
- allspecs
- apiinc
- buildmanpages
- chunked
- clean
- clean_checks
- clean_generated
- clean_html
- clean_man
- clean_pdf
- clean_validusage
- config/extDependency.sh
- diff_html
- extinc
- generated
- hostsyncinc
- html
- katexinst
- manhtml
- manhtmlpages
- manpdf
- reflow
- registry
- styleguide
- validinc
- validusage