I'm new to this, but I've built my first rpm today and it works.
It should work if you have a complete source package, you know, with
./configure;make;make install
working, because I think that when you execute the command for building rpm the output is the same as when running ./configure;make
Look at (that's all I needed for making my rpm):
http://www.mandrakelinux.com/howtos/mdk-rpm/
They say:
"The binary rpm you will build for Mandrakelinux may not work across the distributions, although Mandrake makes everything possible to stay compatible with Red Hat."
I don't know if my rpm works on Red Hat... I know it works on Mandrake...