[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

$(shell ...) and SHELL problems in 3.81

From: Aaron Shatters
Subject: $(shell ...) and SHELL problems in 3.81
Date: Thu, 12 Apr 2007 13:24:56 -0700 (PDT)

I am having difficulty with the following makefile with various versions of 

export SHELL := c:/WINDOWS/system32/cmd.exe

_INFO := $(info $(shell echo Does this work))

.PHONY: all

    @echo hello

With 3.81 built for/with cygwin, it hangs and doesn't do anything at all.  I 
thought that it might have been because of the ':' after the drive letter, so I 
tried updating to the patched 3.81 at  This version also hangs up 
indefinitely.  The reason seems to be because of the $(shell ...) function.  
When I remove the $(shell ...) function line, the executing the makefile just 
launches a new cmd.exe shell (with banner and all).  This is also unexpected.

When I revert back to 3.80, at least the process completes by printing "hello", 
but the $(shell ...) function is not executed.

_INFO := $(info $(shell echo Does this work))
_INFO := $(shell echo Does this work)
don't print anything

Now, I decided to try one more thing.  Running this makefile with 
mingw32-make-3.81-1.  This results in yet another variation.  The process 
completes and prints "hello", but the $(shell ...) function is not working as I 
expect it to.

_INFO := $(info $(shell echo Does this work))
Results in printing "Does this work", and _INFO is empty, but,
_INFO := $(shell echo Does this work)
Results in printing nothing, and _INFO contains "Does this work"

So, this leads me to a few questions:
1 - why doesn't the $(shell ...) function work with 3.81 for/with cygwin
2 - why doesn't @echo hello work with 3.81 for/with cygwin
3 - why doesn't _INFO := $(shell echo Does this work) print to stdout with any 
4 - why doesn't $(info ...) work with 3.80 (I assume that it was just not 
supported in that version)

Aaron Shatters

Don't get soaked.  Take a quick peak at the forecast
with the Yahoo! Search weather shortcut.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]