On Fri, 22 Apr 2005, Paul D. Smith wrote:
> %% "Robert P. J. Day" <[EMAIL PROTECTED]> writes:
>
> rpjd> MAKEFLAGS would, when calling a subshell, be set to "I /tmp" and, i'm
> rpjd> assuming, the callee would then use "-${MAKEFLAGS}", right?
>
> No. You should NEVER use MAKEFLAGS in a command line. It's
> completely inappropriate to do so and will break your make process
> in some situations.
>
> MAKEFLAGS is and has always been intended to be passed THROUGH THE
> ENVIRONMENT, not on the command line. You should set MAKEFLAGS in
> the environment, and add to it or reset it in the makefile, but you
> should never use it explicitly in a command line.
ok, that makes sense, so let me ask one more followup question. is
there a reason i can't use ${MAKEFLAGS} in a make directive to
*examine* the values of the command-line options with which i, the
makefile, was invoked?
as a trivial example,
$(warning Hi, my MAKEFLAGS value is ${MAKEFLAGS}.)
if you do that in a makefile, it won't represent the command-line
options you were invoked with but, if you make a recursive call, then
the command-line options will be added to MAKEFLAGS for the purpose of
that recursive call.
in short, if a makefile is invoked with, say, "-I /tmp/fred", that
information will certainly affect the behaviour of the makefile but
won't be reflected in that current MAKEFLAGS variable. (i'm not sure
*why* i'd want to look at it, but i'm just curious.)
rday
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make