Personnally, I'm on Windows (by obligation, not by choice
using TDM MinGW/MSYS and I've never used FreeBSD, but I already had problems making a cross-compiler.
Before anything else :
http://wiki.osdev.org/GCC_Cross_Compiler
What actually matters ? The configure script or the make execution ?
If it is the configure script, the primary reason of configure failing could be that FreeBSD's shell is not compatible. You should use GNU Bash, which is known to be compatible. I don't know, however, how this is done, but it should be as simple as downloading the package from the GNU mirror FTP site,, unpacking it somewhere, doing a configure in a separate directory, doing make all and make install, and then prefixing ./configure of the name of the GNU Bash executable to ensure FreeBSD shell doesn' try to execute it by itself. If this works, skip the rest of this post.
Also, the make program is not in fault as the O.P. is using GNU make (I see it in the 'gmake' command) which is the preferred make program of all GNU programs, including GCC.
If it still doesn't work, I would recommend to use Binutils v2.22/GCC 4.6.3 (GCC can be higher, but it worked for me with 4.6.3). Just look at this table :
http://wiki.osdev.org/Cross-Compiler_Successful_Builds .
Unpack the binutils to, say, /usr/src/binutils-2.22 and build them passing to the configure prefix your --prefix=* plus the --disable-nls (NLS support just gave me problems, while not being so useful to me, though my native language is French (fr-fr), I'm nearly 16 and actually speak English quite well, I think this is a bare minimum when thinking of lerning programming, as much of the documentation is written in Shakespeare's language).
Then, unpack gcc to, say, /usr/src/gcc-4.6.3. Then, unpack GMP MPFR and MPC to, respectively, usr/src/gcc-4.6.3/gmp, usr/src/gcc-4.6.3/mpfr and /usr/src/gcc-4.6.3/mpc. This will ensure that they are built with all the correct settings for GCC, and will avoid confusion with the options.
Also, think of getting the source code for libiconv and unpacking it to usr/src/gcc-4.6.3/iconv. I didn't have to do this as Windows doesn't use libiconv and lets MinGW use it's own which is the same for all programs. However, I heard that on FreeBSD, the system's version could not work, be found, or something in ths kind. This similarly ensures that it is built accordingly for GCC to use.
For GCC, you should configure it with the usual --prefix, plus --disable-nls to match the binutils configuration, --enable-languages=c (or =c,c++ if you want C++, that's up to you to decide), and eventually --without-headers if neded.
You don't need to add anything as the GMP/MPFR/MPC/iconv libraries will be found automatically.
If that still doesn't work, please send us the precise error messages that you get.