Implement flexible target specification

See commit message.
This should probably override the DLL prefix/suffix