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