Given the attached Makefile, which uses the UTF-8 encoding and which contains a macro whose definiens contains the UTF-8 character '–' (U+2013, EN DASH), 'make' 4.0 fails on my Fedora 20 x86-64 host in the C locale, with the following symptoms:

echo '\342
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
Makefile:3: recipe for target 'bad' failed
make: *** [bad] Error 1

(where "\342" stands for a single byte with octal value 342). 'make good' works. This bug is a regression from make 3.82, which works OK with this Makefile.

The bug is also present in the en_US.utf8 locale.

Because of this bug, 'make check' fails with the tz 2014f release. I can reproduce this failure as follows:

mkdir d
cd d
wget -O- http://www.iana.org/time-zones/repository/releases/tzcode2014f.tar.gz | gzip -d | tar xf - wget -O- http://www.iana.org/time-zones/repository/releases/tzdata2014f.tar.gz | gzip -d | tar xf -
make check

and this fails with a diagnostic similar to the above.

I tried to look into this but I can't build 'make' from the Savannah source. I'll post a separate bug report about that.
NONSYM_CHAR=    '–'
bad:
        echo $(NONSYM_CHAR)
good:
        echo '–'
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to