openafs/doc/man-pages/Makefile.in
Andrew Deason 0881560e77 doc: Look in $srcdir for documentation sources
In several places, we look for documentation source files in e.g.
'doc/man-pages', 'doc/xml', etc. But if we are running an objdir
build, those directories won't exist relative to the current working
directory; we need to look in $srcdir to find them.

So, if we're running an objdir build, our man pages and other
documentation won't be installed. We don't report any error in this
case (the relevant steps are just skipped), since building the
documentation is optional, in case the doc sources are not present.

To fix this, look in $srcdir in the various places that reference doc
source files. Fixing the 'for' loops in the 'dest' and 'install'
targets in doc/man-pages requires some extra cd'ing around, because $M
is used as part of another path in the body of the loop.

Change-Id: Ic3c90ab5e64aeefe6235efb6f6ec26080d7b3a70
Reviewed-on: https://gerrit.openafs.org/14622
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
2021-05-13 11:37:56 -04:00

97 lines
3.4 KiB
Makefile

# Makefile for AFS man pages
srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
all: prep-noinstall
maintclean:
rm -rf html man1 man3 man5 man8
html:
perl generate-html
LINKEDPAGES = klog pagsh tokens
FSSYNCDEBUG_PAGES = attach callback detach error header leaveoff list mode \
move offline online query stats vgcadd vgcdel vgcquery \
vgcscan vgcscanall vnode volop
KAUTH_MAN = man1/klog.1 man1/knfs.1 man1/kpasswd.1 man5/kaserver.DB0.5 \
man5/kaserverauxdb.5 man8/ka-forwarder.8 man8/kadb_check.8 man8/kas.8 \
man8/kas_apropos.8 man8/kas_create.8 man8/kas_delete.8 \
man8/kas_examine.8 man8/kas_forgetticket.8 man8/kas_help.8 \
man8/kas_interactive.8 man8/kas_list.8 man8/kas_listtickets.8 \
man8/kas_noauthentication.8 man8/kas_quit.8 man8/kas_setfields.8 \
man8/kas_setpassword.8 man8/kas_statistics.8 man8/kas_stringtokey.8 \
man8/kas_unlock.8 man8/kaserver.8 man8/kdb.8 man8/kpwvalid.8 \
man1/klog.krb.1
INSTALL_KAUTH = @INSTALL_KAUTH@
# This really depends on the options to configure, but configure will
# regenerate the Makefile so this is a reasonable proxy.
prep-noinstall: Makefile
rm -f man*/*.noinstall
if [ "$(INSTALL_KAUTH)" = "no" ] ; then \
mkdir -p man1 man3 man5 man8; \
for M in $(KAUTH_MAN); do \
touch $$M.noinstall; \
done; \
fi
dest: prep-noinstall
chmod +x install-man
mkdir -p $(DEST)/man/man1 $(DEST)/man/man3 \
$(DEST)/man/man5 $(DEST)/man/man8
set -e; orig_pwd=`pwd` ; cd $(srcdir) ; \
for M in man1/*.1 man3/*.3 man5/*.5 man8/*.8 ; do \
cd $$orig_pwd ; \
if ! [ -e $$M.noinstall ] ; then \
./install-man $(srcdir)/$$M $(DEST)/man/$$M ; \
fi ; \
done
set -e; for M in ${LINKEDPAGES}; do \
if ! [ -e man1/$$M.1.noinstall ] ; then \
test -h $(DEST)/man/man1/$$M.krb.1 \
|| ln -s $$M.1 $(DEST)/man/man1/$$M.krb.1 ; \
fi ; \
done
test -h $(DEST)/man/man8/dafssync-debug.8 \
|| ln -s fssync-debug.8 $(DEST)/man/man8/dafssync-debug.8
set -e; for M in ${FSSYNCDEBUG_PAGES} ; do \
test -h $(DEST)/man/man8/dafssync-debug_$$M.8 \
|| ln -s fssync-debug_$$M.8 $(DEST)/man/man8/dafssync-debug_$$M.8 ; \
done
set -e; if [ -n "@ENABLE_FUSE_CLIENT@" ] ; then \
test -h $(DEST)/man/man8/afsd.fuse.8 \
|| ln -s afsd.8 $(DEST)/man/man8/afsd.fuse.8; \
fi
install: prep-noinstall $(MAN1) $(MAN8)
chmod +x install-man
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 \
$(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8
set -e; orig_pwd=`pwd` ; cd $(srcdir) ; \
for M in man1/*.1 man3/*.3 man5/*.5 man8/*.8 ; do \
cd $$orig_pwd ; \
if ! [ -e $$M.noinstall ] ; then \
./install-man $(srcdir)/$$M $(DESTDIR)$(mandir)/$$M ; \
fi; \
done
set -e; for M in ${LINKEDPAGES}; do \
if ! [ -e man1/$$M.1.noinstall ] ; then \
test -h $(DESTDIR)$(mandir)/man1/$$M.krb.1 \
|| ln -s $$M.1 $(DESTDIR)$(mandir)/man1/$$M.krb.1 ; \
fi ; \
done
test -h $(DESTDIR)/$(mandir)/man8/dafssync-debug.8 \
|| ln -s fssync-debug.8 $(DESTDIR)/$(mandir)/man8/dafssync-debug.8
set -e; for M in ${FSSYNCDEBUG_PAGES} ; do \
test -h $(DESTDIR)/$(mandir)/man8/dafssync-debug_$$M.8 \
|| ln -s fssync-debug_$$M.8 $(DESTDIR)/$(mandir)/man8/dafssync-debug_$$M.8 ; \
done
set -e; if [ -n "@ENABLE_FUSE_CLIENT@" ] ; then \
test -h $(DESTDIR)$(mandir)/man8/afsd.fuse.8 \
|| ln -s afsd.8 $(DESTDIR)$(mandir)/man8/afsd.fuse.8; \
fi