GNU make 3.80 mistreats trailing whitespace in macro substitutions and appends another spurious suffix:
empty = foo = bar $(empty) print: ; @echo $(foo:=.test)
prints ‘bar.test .test’.
BSD and Solaris make implementations do not honor trailing whitespace in macro definitions as Posix requires:
foo = bar # Note the space after "bar". print: ; @echo $(foo)t
prints ‘bart’ instead of ‘bar t’. To work around this, you can use a helper macro as in the previous example.