Next: Command-line Macros and whitespace, Previous: Comments in Make Macros, Up: Portable Make Programming [Contents][Index]
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.