doc/src/sgml/Makefile versus VPATH

Started by Tom Laneover 16 years ago5 messages
#1Tom Lane
tgl@sss.pgh.pa.us

So isn't this still pretty broken? I notice that the clean and
distclean targets still use addprefix on a lot of temporary/intermediate
files that I would think get made in the build directory, not the source
directory. The references to man files in srcdir in
nonsql_manpage_files and adjacent macros seem a tad suspicious as well.

regards, tom lane

#2Alvaro Herrera
alvherre@commandprompt.com
In reply to: Tom Lane (#1)
Re: doc/src/sgml/Makefile versus VPATH

Tom Lane wrote:

So isn't this still pretty broken? I notice that the clean and
distclean targets still use addprefix on a lot of temporary/intermediate
files that I would think get made in the build directory, not the source
directory.

Yeah, I noticed that too. I'm not too sure about it, because some of
those files we do want shipped in source tarballs; and they are
definitely cleaned in the builddir by maintainer-clean. I didn't want
to get into the detail of what's the ultimate distclean charter; my
immediate problem was that "make -C doc maintainer-clean" was not
getting rid of the stamp files and thus I was getting bit by the problem
that openjade was running all the time, even after I maintainer-cleaned.

By Peter's recent decree that tarballs are supposed to be built in
non-vpath-builds only, I am not really sure what should actually happen
here, both on build and on the various clean targets.

The references to man files in srcdir in nonsql_manpage_files and
adjacent macros seem a tad suspicious as well.

I agree, it probably merits more investigation.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#2)
Re: doc/src/sgml/Makefile versus VPATH

Alvaro Herrera <alvherre@commandprompt.com> writes:

By Peter's recent decree that tarballs are supposed to be built in
non-vpath-builds only, I am not really sure what should actually happen
here, both on build and on the various clean targets.

I think that that means the Makefile can just assume that *every* built
file is built in the current directory, and $(srcdir) should only be
applied to non-derived files.

regards, tom lane

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#3)
Re: doc/src/sgml/Makefile versus VPATH

On Tue, 2009-10-06 at 12:56 -0400, Tom Lane wrote:

Alvaro Herrera <alvherre@commandprompt.com> writes:

By Peter's recent decree that tarballs are supposed to be built in
non-vpath-builds only, I am not really sure what should actually happen
here, both on build and on the various clean targets.

I think that that means the Makefile can just assume that *every* built
file is built in the current directory, and $(srcdir) should only be
applied to non-derived files.

More or less, except when you are installing, you need to look in both
places for files to install (and preferably avoid installing both, I
think).

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#1)
Re: doc/src/sgml/Makefile versus VPATH

On Tue, 2009-10-06 at 12:24 -0400, Tom Lane wrote:

So isn't this still pretty broken? I notice that the clean and
distclean targets still use addprefix on a lot of temporary/intermediate
files that I would think get made in the build directory, not the source
directory.

Yeah, those rules have "evolved" a bit. Basically, everything should be
in clean except the bits that go into the tarball, namely the final man
and html builds. I have committed some fixes. (It almost looks like
8.4 again now.)

The references to man files in srcdir in
nonsql_manpage_files and adjacent macros seem a tad suspicious as well.

Indeed. This only affects if you build your own man pages in a vpath
build, so it's not critical. I'll look at it later.