Auto-generator Vulkan-Docs manpages Tested mainly on Ubuntu but should works the same on other distros. Not tested on macOS, and Windows. It would need slightly modifications on top of parameters supplied to each command as it might have different variants. PRs welcome.
Vulkan-Docs has man source files which can be converted into manpages with a few clean-up/reformat ontop but their decision doesn't include maintaining of manpages generation code in the repo. So in short, it is possible to do it and this project will serve that purpose.
In case you don't have time or don't want to build it yourself, head over to downstream Vulkan-Docs repository's release section, then you can download manpages (either as original .3 or .gz file) as zip file there. Extract it to your system proper location then you're ready to use.
If you use WSL (Linux subsystem in Windows), recommended to download .gz zip file then extract it into /usr/share/man/man3. Then execute sudo mandb to update and index man pages.
Notice those normative keywords, and inline code format.
- NodeJS (only if users target to build manpages against
Vulkan-DocsAPI versionv1.2.137or newer) - Asciidoctor (package name
asciidoctoron debian-based distro)
make- Build lastest spec release versionmake SPECV=v1.2.138- Build a custom spec release version.SPECVshorts for spec version. You can get list of spec versions here. Note: For now, all 1.2.x series are built without errors.
make install
This will install all generated manpages from Vulkan-Docs/out/man/ to your /usr/local/man/man3/.
make clean
This will remove all generated files resulting from make. This will only remove generated files inside Vulkan-Docs directory.
It doesn't have any effect to your installed manpages on your system.
make purge
This will remove entire directory Vulkan-Docs. This is equivalent of manually removing such directory yourself.
The script will perform the following operations
- Clone Vulkan-Docs into
Vulkan-Docsthen make sure everytime it has the lastet commits and (release) tags. - (if need) Perform installation of packages from
npm(NodeJS) - Make sure the repo is latest
- Start fresh, and checkout a target release tag of per instructed (if not supply via command line's parameter, then it will base on lastest release)
- Inject patch for
Makefileas seen frompatches/Makefilewithout heavily modify originalMakefilesource that much - Clean
Vulkan-Docsto ensure freshness on behalf of itsMakefile - Build manpages only
Vulkan-Docson behalf of itsMakefile - Clean or reformat some artifacts as seen from generated manpages
Thanks to Ryp for his inspiring PR to make manpages generation possible. The core logic to generate manpage of this project is based on top of that.
The script files of this repository not include the genereated artifact, man source files, or generated manpages are licensed under MIT, Wasin Thonkaew.
Artifactrs, man source files, or generated manpages (simply, what's inside Vulkan-Docs directory) are based on original Vulkan-Docs's multiple Licenses.
