[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Make 3.80 on Cygwin expanding variables improperly?
From: |
Greg Wilson |
Subject: |
Re: GNU Make 3.80 on Cygwin expanding variables improperly? |
Date: |
Wed, 24 May 2006 14:02:23 -0400 (EDT) |
Hi,
I've shortened my example considerably, and discovered something new.
Unpack the attached gzip'd tar file and run 'make settings'. On Linux,
and on all three of the Windows XP Pro machines I have access to (using
GNU Make 3.80 installed via Cygwin) the output is:
Makefile:7: evaluating png for shell01
Makefile:7: value is ./lec/img/shell01/directory_tree.png
Makefile:7: evaluating png for shell02
Makefile:7: value is ./lec/img/shell02/pipes.png
Makefile:16: evaluating png for shell01
Makefile:16: value is shell01/directory_tree.png
Makefile:16: evaluating png for shell02
Makefile:16: value is shell02/pipes.png
NESTED: ./lec/img/shell01/directory_tree.png ./lec/img/shell02/pipes.png
TOPLEVEL: shell01/directory_tree.png shell02/pipes.png
On my XP Home machine, the output is:
Makefile:7: evaluating png for shell01
Makefile:7: value is ./lec/img/shell01/directory_tree.png
Makefile:7: evaluating png for shell02
Makefile:7: value is ./lec/img/shell02/directory_tree.png
Makefile:16: evaluating png for shell01
Makefile:16: value is shell01/directory_tree.png
Makefile:16: evaluating png for shell02
Makefile:16: value is shell02/pipes.png
NESTED: ./lec/img/shell01/directory_tree.png
./lec/img/shell02/directory_tree.png
TOPLEVEL: shell01/directory_tree.png shell02/pipes.png
I.e., when the files are nested in subdirectories, $(wildcard) expands the
variable improperly, but when they're at the top level, it works.
I've tried putting the graphics files in questions only one level down
(i.e., in a direct subdirectory, rather than a sub-subdirectory), and GNU
Make expands the variable *correctly*.
So: how is $(wildcard) implemented? Is this some problem arising because
of bad synchronization with a forked child?
Thanks,
Greg
example.tar.gz
Description: Binary data