On Sun, Jan 14, 2001 at 09:59:56PM +0000, Minko Markov wrote:
> And another problem with 0.8.15 -- "make install-man" installs nothing.
> I had to copy the three man pages manually.
To quote the first paragraph of the delta commentary to the fix to
"Makefile.am" that I just checked in:
Automake is a jealous god. If, when sacrificing a goat to it,
you do not kill the goat with the *correct* sort of knife, on
the *correct* altar, and drink its blood from the *correct*
goblet at the *correct* temperature, he will wreak his revenge,
perhaps, for example, causing all your crops to sprout bearing
bright green and pink polka-dots.
It turns out that if you set "man_MANS" to a list none of whose members
are file names ending in man page suffixes, automake can't infer into
which sections man pages are to be installed. So far, that's reasonable
- if you set "man_MANS" to stuff such as "@ethereal_man@", which only
gets filled in when the configure script is run, it has no idea whether
that'll go in section 1, 2, 3, .... (Not exactly stated very clearly in
the automake documentation - all it says is
Man pages are automatically installed in the correct
subdirectory of `mandir', based on the file extension.
but it doesn't explicitly say "...which means that if the items *in the
automake file* don't have file extensions, automake will just throw up
its hands in despair and silently fail to generate any useful rules for
'install-man'.)
So I tried doing
man1_MANS = @ethereal_man@ @editcap_man@ @tethereal_man@
instead; the "man1_MANS" appeared, from looking at the *source code* to
automake, to be the way to explicitly tell it "this stuff goes in
section 1".
But it now still didn't generate any rules to install that stuff!
It turns out that, unless "man_MANS" is defined - defined as anything,
including an empty string - it won't generate any rules, *even if you've
defined, say, "man1_MANS"*.
So I had to add
man_MANS =
to "Makefile.am".
The resulting "Makefile.am" generates a "Makefile.in" that will turn
into a Makefile that'll install the man pages. That'll show up in the
next release.
Time to file some grumpy bugs with the automake maintainers... (it
shouldn't require "man_MANS" to be set if any of the other
"man{section}_MANS" are set, and the documentation should give a bit
more of a hint about how to tell automake what sections the man pages go
in).