>> On windows, for the $(shell ...) function, stdout for the child
>> process that executes the shell command line is piped to a stream that
>> is read from the parent process.  After the parent process reads the
>> stream into a buffer, it doesn't print it to stdout... it just puts
>> the results into the variable buffer.
>> 
>> I think that this is a problem.
>
>It is NOT a problem; this is exactly what the shell function is supposed
>to do.  The stdout of the command invoked is used as the expanded value
>of the shell function.  No part of stdout is actually printed to stdout.
>
>The shell function is essentially a make implementation of the POSIX
>shell `` (backticks) function.

Of course, you are right... this is not a problem.  The example that I had 
lifted from another makefile had stdout redirected to stderr after the echo 
command, therefore, it printed to the screen.  I failed to include this portion 
in my testing.

It was:
GARBAGE := $(shell echo text to print 1>&2)

I omitted the "1>&2", which lead to the difference in operation.

Sorry for wasting all of your time.  I should have been more thorough before 
posting.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to