Fix Makefile problems with no-warn linker flags

The presence and choice of no-warn flags needs to be dependent on
the target operating system.