[HTC Wildfire S] Parisbre56:
About whether or not arm-eabi has been replaced by arm-linux-eabi, I sincerely don't know. I have tried using some of the newer NDK versions to compile but none of them seemed to work. I was finally able to compile using NDK version 5c using the binaries in the arm-eabi folder. However if you do find a newer toolchain that works, please let me know and I'll update my post. There are also some custom arm cross compiler tool chains floating around the xda forums and other websites. You can try using one of these, but I can't guarantee that they will work. If they do however, again, please tell me so that I can add them to the post for other users.

Now, concerning the CROSS_COMPILE.

Skip this paragraph if you know what cross compiling is. Cross compiling means using one computer with a certain architecture, in our case x86 since most (if not all) PCs today use x86 CPUs, to compile code that is meant to run in another architecture, in our case the Wildfire S android phone, which uses an armv6l CPU. If you were compiling for an android phone that had an x86 CPU, as some newer models have, you would simply leave that variable (CROSS_COMPILE) unset and let your built in compiler binaries handle it. However, now we need a program that will run on your architecture and compile code for a different architecture. The programs in folder '/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/' do just that.

CROSS_COMPILE is an environment variable. The Makefile "reads" this variable from the terminal's environment. (You can use the 'env' command to see your terminal's environment. You can check for whether or not the CROSS_COMPILE variable has been exported with the command 'env | grep CROSS_COMPILE=' or 'echo $CROSS_COMPILE') It then adds this variable "in front of" every compile command it runs. So if the compiler were to run 'g++ -o executable1 file1.cpp file2.cpp' (which would be equivalent to '/usr/bin/g++ -o executable1 file1.cpp file2.cpp', since /usr/bin/ is part of your path), it will now run '($CROSS_COMPILE)g++ -o executable1 file1.cpp file2.cpp' which, if CROSS_COMPILE=/home/paris/ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-', translates to '/home/paris/ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-g++ -o executable1 file1.cpp file2.cpp'.

If however you have added '/home/paris/ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/' to your path, then you can simply use the command 'export CROSS_COMPILE=arm-eabi-' instead of writing the full path. This will translate the above command to 'arm-eabi-g++ -o executable1 file1.cpp file2.cpp' and since the folder where arm-eabi-g++ is in your path the binaries in it will be used. (A way to test whether or not the toolchain has been correctly added to your path is using the command 'which arm-eabi-g++' which should output '/home/paris/ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-g++' while 'which g++' should output '/usr/bin/g++')

Remember to change '/home/paris/whatever' to the location these files are stored in your system.

If you have any more questions or if you find something that may be helpful for other users, please don't be afraid to post.