John Naylor <jcnaylor@gmail.com> writes:
> On 3/3/18, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> * In 0006, I'm not very pleased with the introduction of
>> "Makefile.headers".
> I wasn't happy with it either, but I couldn't get it to build
> otherwise. The sticking point was the symlinks in
> $(builddir)/src/include/catalog. $(MAKE) -C catalog doesn't handle
> that. The makefile in /src/common relies on the backend makefile to
> know what to invoke for a given header. IIRC, relpath.c includes
> pg_tablespace.h, which now requires pg_tablespace_d.h to be built.
I'm not following. AFAICS, what you put in src/common/Makefile was just
+.PHONY: generated-headers
+
+generated-headers:
+ $(MAKE) -C ../backend generated-headers
which doesn't appear to care whether backend/Makefile knows anything
about specific generated headers or not. I think all we need to do
is consider that the *_d.h files ought to be built as another consequence
of invoking the generated-headers target.
BTW, there's already a submake-generated-headers target in
Makefile.global, which you should use in preference to rolling your own.
regards, tom lane