Hide Forgot
A simple Makefile: WTF != pwd Generates this error: Makefile:1: *** missing separator. Stop. GNU make appears to be wrongly interpreting WTF as a target name instead of as a variable name. This appears to be a portability issue as it apparently works with FreeBSD make. Workaround: WTF!= pwd
It looks like I last used that Makefile on Fedora 13. It didn't error back then.
This never worked, shell assignment was never supported in GNU make that I know of. It's just semi-properly reported now. What happened on F13 was that make would assume that "WTF !" was wariable name. With the workaround, it just assumes that "WTF!" is a variable name. (The following is make from F13.) $ ./make -f /dev/stdin <<EOF XXX != pwd all:; echo .\$(XXX). EOF echo .. .. $ ./make -f /dev/stdin <<EOF XXX != pwd all:; echo .\$(XXX !). EOF echo .pwd. .pwd. (And now with the work-around and a recent make.) $ make -f /dev/stdin <<EOF XXX!= pwd all:; echo .\$(XXX). EOF echo .. .. $ make -f /dev/stdin <<EOF XXX!= pwd all:; echo .\$(XXX!). EOF echo .pwd. .pwd.