--target is used to specify the architecture for which a package should be generated; incidentally it also sets $RPM_OPT_FLAGS which often has things like -mcpu=i686, for example. However, --target sets %_target, which actually looks wrong. By the autotools definitions, "host" is actually the parameter for selecting the arch of the program, while "target" refers to the code produced by that program in turn. Needless to say that "target" is therefore only in use for compilers and alike, standard programs like strace only have host (where it is supposed to run on) and build (where the compiler runs).
Thus, given an rpmbuild strace.spec --target=sparcv9 would still be %configured with --build=sparc64-unknown-linux --host=sparc64-unknown-linux, which is not what was wanted.
Under these considerations, I think rpmbuild's --target should set %_host instead. (Or a --host option needs to be added, whichever is more reasonable.) What do you think?