Hi,

I have noticed a nasty difference in behavior between 4.3 and 3.81 versions of 
gnu-make in cygwin.
I have checked and confirmed that this doesn't occur in the gnu-linux version 
of make.

The difference happens when a suffix contains one or more backslashes. This is 
sometimes needed to escape special behavior of meta characters in the shell. 
The basename function in 3.81 would return everything up to the last period 
like documented in the info file, but the basename function in 4.3 apparently 
considers the backslash in the suffix as a path separator (I guess...).

I did find a workaround to emulate the old behavior:
  $(foreach x,$(INPUT),$(firstword $(subst ., ,$x)))
returns what
  $(basename $(INPUT))
used to return.

I'm not sure if this qualifies as a bug per-se, but it is a nasty difference in 
behavior anyway. At least this should be documented in the info file.

Ronald.

Reply via email to