On Fri, 2020-10-09 at 15:03 +0000, Byrnes, Robert wrote: > Why is the embedded whitespace removed in the first (FOO) case? It > seems related to the semicolon shell metacharacter ...
My suspicion is that it's a difference between your /bin/echo command and your shell's builtin echo command. In the first case (with the ";") because there's a special character in the command GNU make will run a shell like this: /bin/sh -c 'echo ... ; ' and the shell's built-in echo will be used (if it has one, which most shells do). In the second case (without the ";"), there's no special character and so GNU make runs the fast path which invokes the echo command directly, not using a shell, and so it will use your PATH to find an "echo" program and run that. If you change both commands to use /bin/echo explicitly, do they work the same way?