• Tom Lane's avatar
    Fix partial-build problems introduced by having more generated headers. · 3b8f6e75
    Tom Lane authored
    Commit 372728b0 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
    3b8f6e75
Makefile 1.8 KB