The thing about rntcl is that it is a cross compiler. The output of
the compiler _is_ "foo.exe", but that binary can not be run on the
build system. So "foo" is created as a wrapper script to run
"foo.exe" using rtcl.
But this should be a general issue with cross compilation. If --host
and --build are different, you can not expect e.g. eccdata to be
runnable on the build system if it is built with $CC. But as long as
you build these tools with $CC_FOR_BUILD and $EXEEXT_FOR_BUILD, you
should be fine. rntcl should never be $CC_FOR_BUILD, and AFAIK we are
only interrested in building libraries for the target, not
executables.
However, this code in your Makefile.in looks strange:
# For building the various *data.c programs. -lm needed for shadata.
%$(EXEEXT_FOR_BUILD): %.c
$(CC_FOR_BUILD) $< -lm -o $@
What if $(EXEEXT_FOR_BUILD) and $(EXEEXT) are the same (for example
the empty string)? $(CC) and $(CC_FOR_BUILD) could still be different
(e.g. aarch64-unknown-linux-gnu-gcc and
powerpc64-unknown-linux-gnu-gcc)...