Fix Makefile problems with no-warn linker flags

This patch makes the choice of DFLAGS properly dependent on the
default compiler being selected, and adds linker LDFLAGS that
are dependent on the target OS.