Here's a problem I've encountered recently ...

Using the Win32 port of GNU make 3.79.1 on Windows 2000 with either the Cygwin shell, 
or the MKS sh.exe, or even the Windows cmd.exe I get a hang when running the following 
makefile:

CWD:=$(shell pwd)
PKGDIR = $(shell echo this.is.a.test | sed 's:\.:/:g')

all :
        echo $(CWD)
        echo $(PKGDIR)
        echo Done.
        cd testdir2 && $(MAKE)

The hang appears to be on a pipe read.  Due to my lack of Win32 experience, that's all 
I can tell.  In addition, this makefile must be in a recursive make, nested about 5 or 
6 directories deep, so simply create the following directory directory structure and 
put a copy of the makefile in each directory and run make at the top level:  
c:/testdir2/testdir2/testdir2/testdir2/testdir2/testdir2/testdir2

The line of the makefile that causes the problem is the one with the $(shell ...) 
command.  I can work around the problem by breaking the $(shell ) command into two 
shell commands, storing the intermediate result in a file and redirecting I/O rather 
than using a pipe between echo.exe and sed.exe.  Also, I've ruled out these two 
programs as the culprit.  I can use other programs besides echo and sed and get the 
hang.  The problem doesn't appear to happen on Win NT 4.0.

Any help in getting this fixed would be greatly appreciated.

-JB


_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make

Reply via email to