The following makefile fails in make-3.80 but succeeds in make-3.79.1

---------------------------------------

[AllTargets] = libc.so libb.so

prereq: ${foreach z, $([AllTargets]), $(z)|@maked@}

all: ${foreach z, $([AllTargets]), $(z)|@maked@}
     echo ${prereq}

-----------------------------------------

When the foreach command is used in the variable (prereq) it builds the list 
like this

liba.so|@maked@ libb.so|@maked@

When the foreach is used as a prerequisite it produses this.

liba.so | @maked@ libb.so|@maked@


Note that the error is the spaces around the first '|' symbol.  Adding a 
backslash ('\') before the pipe ('|' in the foreach solves the problem.

This occurs in make-3.80 but not in make-3.79.1

Please respond directly to me as well as the mailing list as I do not 
subscribe or have normal access to it.

-- 
Said the fox to the fish, "Join me ashore".
 The fish are the Jews, Torah is our water

Hillel (Sabba) Markowitz - [EMAIL PROTECTED]



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

Reply via email to