Perhaps the following offers a solution:

<verbatim>
HOST_OS_CMD = uname -s
BSD_HOST_OS = $($(HOST_OS_CMD):sh)
GNU_HOST_OS = $(shell $(HOST_OS_CMD) )
HOST_OS = $(BSD_HOST_OS)$(GNU_HOST_OS)
</verbatim>

It works for GNU Make, as BSD_HOST_OS will be empty. I'm hoping GNU_HOST_OS would be empty when using BSD Make.