make install fails to install man pages
Marcus Watts
mdw at umich.edu
Tue Jan 19 12:57:59 EST 2010
When building kexec-tools 2.0.1, I noticed that "make install"
failed to install any man pages. Upon looking, I found that
what "make install" had tried to do was:
for file in build/sbin/kexec .. kexec/kexec.8 kdump/kdump.8; do
if test `dirname $file` = "build/sbin" ; then
...
if test `dirname $file` = "build/man/man8" ; then
mkdir -p /tmp/kex//usr/share/man/man8/
/usr/bin/install -c -m 644 $file /tmp/kex//usr/share/man/man8/
fi
...
done
Since the man pages don't start with "build/", they don't
match the if clause so aren't installed.
Source in the makefile looks like this:
if test `$(DIRNAME) $$file` = "$(MAN8DIR)" ; then \
A test that might better express what you are trying to do:
if test `basename x/foo.8 .8` = foo
perhaps something like this:
configure.ac:
AC_CHECK_PROG([BASENAME], basename, basename, "no", [$PATH])
if test "$BASENAME" = "no"; then AC_MSG_ERROR([ basename not found]) fi
Makefile.in:
if test `$(BASENAME) $$file .8` = "$$file" ; then \
-Marcus Watts
More information about the kexec
mailing list