systemd/man/man.in
Zbigniew Jędrzejewski-Szmek 3919ecc553 meson: run a no-op build to generate man rules
When a new page is added using man/update-man-rules, ninja doesn't know
about the new target until a build is initiated, so build/man/man and
build/man/html would fail. Force a trivial build to regenerate the rules
before calling 'ninja -t'.
2020-03-27 20:12:44 +01:00

20 lines
509 B
Bash
Executable File

#!/bin/sh
set -e
if [ -z "$1" ]; then
echo "Use: $0 page-name (with no section suffix)"
exit 1
fi
# make sure the rules have been regenrated (in case man/update-man-rules was just run)
ninja -C "@BUILD_ROOT@" version.h
page="$(echo "$1" | sed 's/\./\\./')"
target=$(ninja -C "@BUILD_ROOT@" -t query man/man | grep -E -m1 "man/$page\.[0-9]$" | awk '{print $2}')
if [ -z "$target" ]; then
echo "Cannot find page $1"
exit 1
fi
ninja -C "@BUILD_ROOT@" "$target"
exec man "@BUILD_ROOT@/$target"