Re: [PATCH 0/3] Fix installation paths with "make install-doc"
From: John Keeping <hidden>
Date: 2016-06-15 22:56:09
On Tue, Feb 12, 2013 at 02:45:34PM -0800, Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:quoted
John Keeping wrote:quoted
Documentation/Makefile: fix inherited {html,info,man}dirThis doesn't seem to have hit the list.More importantly,quoted
quoted
When using the top-level install-doc target the html, info and man target directories are inherited from the top-level Makefile by the documentation Makefile as relative paths, which is not expected and results in the files being installed in an unexpected location.I am not sure what problem it is trying to address. During every cycle "make doc && make install-man install-html" is run for all integration branches and it didn't cause any problems. A wild guess. John, are you using config.mak.autogen?
Close - plain config.mak. I set $prefix there and ran "make install-doc". That installed the man pages in Documentation/share/man/ in my Git source directory.
I _think_ exporting mandir/html/infodir from the top-level Makefile
is wrong to begin with. We should drop the "export mandir" from
there.
Giving them unusual meaning (e.g. "mandir = share/man") is already
bad and that needs to be fixed by limiting this "oh, on some
platforms we compile-in GIT_MAN_PATH as a relative path to an
unspecified place" insanity only to where -DGIT_MAN_PATH=<path> is
defined. The path used there does not help the building and
installation of the documentation at all, so the variable used for
the purpose of giving that <path> should not be named the same way
as the variable used on Documentation/Makefile to name the real path
in the first place.
Perhaps rename these to runtime_{man,html,info}dir or something and
make sure {man,html,info}dir are defined as the real paths whose
default values begin with $(prefix)?
Would it be sensible to define the values for these variables (with
absolute paths) in a separate top-level file like config.mak.uname
(defaults.mak maybe?) and include that in both Documentation/Makefile
and Makefile, then calculate the relative path from $(prefix) to
$({man,html,info}dir) for the compiled-in values.
John