Because the makefile has to work with 'all' variations of make with varying compliance to varying standards, the options open are a bit limited. It's only important that shell commands are executed on the platforms using non-GNU makes - the BSDs and Solaris.

A better way would be to start adding to the build system with configure scripts and the like. However, this is a far bigger change and would break anything which assumes you just run make, such as packaging systems.