>export CLFS_TARGET="arm-linux-gnueabihf"
>export CLFS_ARCH=arm
>export CLFS_ARM_ARCH="armv7-a"
>export CLFS_ARM_TUNE="cortex-a9"
>export CLFS_FLOAT="hard"
>export CLFS_FPU="neon"
>export targetCFLAGS="-O3 -pipe -mfpu=${CLFS_FPU} -mtune=${CLFS_ARM_TUNE} -march=${CLFS_ARM_ARCH} -mfloat-abi=${CLFS_FLOAT}"
>export targetCPPFLAGS="-I/${CLFS_TARGET}/include"
>export targetCXXFLAGS="${targetCFLAGS}"
>export targetLDFLAGS="-L/${CLFS_TARGET}/lib -Wl,-rpath -Wl,/${CLFS_TARGET}/lib"
>./configure --disable-ifconfig --disable-logger --disable-syslogd --disable-whois --disable-servers CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}" CC="${CC} ${CFLAGS}"
>make > make.log 2>&1
>make check > check.log 2>&1
>make install > install.log 2>&1
Some programs would fail on "make check", while others would fail on "make" when compiling for hard-float as it looks for "stubs-soft.h" which it shouldn't since I designate "-mfloat-abi=hard".
And it's because there are places in Makefile that isn't using CFLAGS, so you'll note the 'CC="${CC} ${CFLAGS}"' appended to ./configure.
I've recently encountered another program that had CC hardcoded, so passing the flag wouldn't do anything. I had to edit the Makefile.
It's almost like the linux-world isn't quite ready for hard-ARM, yet I've seen plenty of boards out there (odroid in my case).
If you would like more, I can whip out a test when I wake up and submit log results.
Currently I stepped back and am trying to cross-compile python (ugh).
Sorry for not being more descriptive.