>> 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
