Implement flexible target specification

See commit message.
I don't think split-stacks are supported on 32-bit freebsd, why add this triple?