diff --git a/man/html.in b/man/html.in index b7e79841d0..23b77ebbb0 100755 --- a/man/html.in +++ b/man/html.in @@ -11,5 +11,14 @@ ninja -C "@BUILD_ROOT@" version.h target="man/$1.html" ninja -C "@BUILD_ROOT@" "$target" + +fullname="@BUILD_ROOT@/$target" +redirect="$(readlink "$fullname" 2>/dev/null)" +if [ -n "$redirect" ]; then + ninja -C "@BUILD_ROOT@" "man/$redirect" + + fullname="@BUILD_ROOT@/man/$redirect" +fi + set -x -exec xdg-open "@BUILD_ROOT@/$target" +exec xdg-open "$fullname" diff --git a/man/man.in b/man/man.in index fa6164b8de..12eb332ee0 100755 --- a/man/man.in +++ b/man/man.in @@ -16,4 +16,13 @@ if [ -z "$target" ]; then exit 1 fi ninja -C "@BUILD_ROOT@" "$target" -exec man "@BUILD_ROOT@/$target" + +fullname="@BUILD_ROOT@/$target" +redirect="$(sed -n -r '1 s|^\.so man[0-9]/(.*)|\1|p' "$fullname")" +if [ -n "$redirect" ]; then + ninja -C "@BUILD_ROOT@" "man/$redirect" + + fullname="@BUILD_ROOT@/man/$redirect" +fi + +exec man "$fullname"