This instructs "make" to pass all the lines in the recipe to a
single invocation of the shell. This has no disadvantage and improves
performance slightly. Best out of five "make -j 4" runs:
Before: 0m3.510s
After: 0m3.280s
Speedup: 6.55%
With .ONESHELL given, only the first line of each recipe will be
checked for the special '@' prefix character. This made it necessary
to modify the "Q" macro slightly. Rename it to "SAY" while at it.
The second issue with .ONESHELL is that a failure of any but the
final recipe line will not be noticed by make. To work around this,
we set .SHELLFLAGS to '-ec'. The '-e' flag instructs the shell to
exit at any failure anywhere in the command line.