[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Avoid warnings from the job server
From: |
Paul Smith |
Subject: |
Re: Avoid warnings from the job server |
Date: |
Fri, 27 Nov 2015 10:58:45 -0500 |
On Fri, 2015-11-27 at 15:38 +0100, Ewan Delanoy wrote:
> I don't understand how adding ": $(MAKE) ;" before the "$(unstage)"
> avoids warnings from the GNU Make job server.
> AFAIK, the :$(MAKE) ; basically behaves like a comment. What
> difference will it make to the job server ? What kind of warning does
> it avoid ?
Here is why although it doesn't specifically address the jobserver:
http://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html
If make determines that a recipe IS NOT a recursive call to make, then
it will disable the jobserver capabilities (because this can interfere
with certain types of commands that make may invoke). If make
determines that the recipe IS a recursive call to make, then it will
leave the jobserver capabilities enabled.
If your recipe does invoke make recursively but the parent make doesn't
realize it and disables jobserver capabilities, then the child make will
see this situation and print a warning.
An alternative to using a dummy MAKE variable reference would be to
prefix the recipe line with "+", but probably the GCC makefiles avoid
this because it's not portable.