What about other systems like NetBSD?
Why are you opposed to simply calling 'gmake', and if that fails, calling 'make'?