Victor,

A similar question was asked some time ago:
http://lists.gnu.org/archive/html/bug-make/2012-05/msg00014.html
Short answer: Yes, this is a bug, see here:
https://savannah.gnu.org/patch/?7534

Accordingly to the difference between Cygwin and other versions: I believe
the former has a newer version of Make (3.82.90 maybe), which doesn't have
this bug anymore.



2012/12/16 Victor Shih <victor.s...@gmail.com>

>
> I've been using this thunk implementation as described
> http://www.cakoose.com/wiki/gnu_make_thunks, but recently came upon an
> anomaly on a different operating system.  Here's an example Makefile:
>
>
> A = abcdefghijklmnop
> B = $(eval B := $A)$B
>
> test:
>     @echo [$B]
>     @echo [$B]
>
>
> On cygwin it seems to work fine:
> [abcdefghijklmnopqr]
> [abcdefghijklmnopqr]
>
>
> But on Mac 10.6 as well as Ubuntu 12.04, it returns:
> [p]
> [abcdefghijklmnop]
>
>
> All of these environments are running make 3.82.
>
> The length of the definitions of A and B matter, too.  Basically the first
> expansion of $B truncates as many characters as the $(eval ...) definition
> is long.  Very strange.
>
> Am I missing something?
>
>
> --
> Victor Shih
> blog.vicshih.com
>
> _______________________________________________
> Bug-make mailing list
> Bug-make@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-make
>
>


-- 
Best regards,
Eldar Sh. Abusalimov
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to