Обсуждение: doc/src/sgml/Makefile versus VPATH

Поиск
Список
Период
Сортировка

doc/src/sgml/Makefile versus VPATH

От
Tom Lane
Дата:
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


Re: doc/src/sgml/Makefile versus VPATH

От
Alvaro Herrera
Дата:
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


Re: doc/src/sgml/Makefile versus VPATH

От
Tom Lane
Дата:
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


Re: doc/src/sgml/Makefile versus VPATH

От
Peter Eisentraut
Дата:
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).



Re: doc/src/sgml/Makefile versus VPATH

От
Peter Eisentraut
Дата:
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.