Implement flexible target specification

See commit message.
Did you really mean to delete the switch for Win64 cabi?