]> granicus.if.org Git - postgresql/commit
Fix partial-build problems introduced by having more generated headers.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Apr 2018 20:42:02 +0000 (16:42 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Apr 2018 20:42:10 +0000 (16:42 -0400)
commit3b8f6e75f3c8c6d192621f21624cc8cee04ec3cb
tree093376b0c64cc5d5d8aa537cd0862734c5214f93
parent468abb8f7a69c68341b6fc2797166d1079acb1b1
Fix partial-build problems introduced by having more generated headers.

Commit 372728b0d created some problems for usages like building a
subdirectory without having first done "make all" at the top level,
or for proceeding directly to "make install" without "make all".
The only reasonably clean way to fix this seems to be to force the
submake-generated-headers rule to fire in *any* "make all" or "make
install" command anywhere in the tree.  To avoid lots of redundant work,
as well as parallel make jobs possibly clobbering each others' output, we
still need to be sure that the rule fires only once in a recursive build.
For that, adopt the same MAKELEVEL hack previously used for "temp-install".
But try to document it a bit better.

The submake-errcodes mechanism previously used in src/port/ and src/common/
is subsumed by this, so we can get rid of those special cases.  It was
inadequate for src/common/ anyway after the aforesaid commit, and it always
risked parallel attempts to build errcodes.h.

Discussion: https://postgr.es/m/E1f5FAB-0006LU-MB@gemulon.postgresql.org
doc/src/sgml/Makefile
src/Makefile
src/Makefile.global.in
src/backend/Makefile
src/backend/jit/llvm/Makefile
src/common/Makefile
src/pl/plpython/Makefile
src/port/Makefile
src/test/modules/Makefile
src/test/regress/GNUmakefile