Move LINKOPTS after objects

Some programs are sensitive to the ordering of libraries and objects.
This behavior matches autoconf, so I think it's probably best.
Include compiler in build string

This means that I end up with a different object name when I use a
different compiler to build the sources, which is nice because this
way I can build the same sources, with the same options, but with
different compilers.  I used this recently to build a version of
software for both Windows (via mingw32) and Linux (via winegcc).