http://developer.appcelerator.com/blog/2013/03/correcting-a-bug-in-the-latest-google-ndk-r8e.html
In our continuing effort to inform you of ecosystem issues as we encounter them, the latest NDK toolchain update from Google contains a bug. This causes an issue when building the Titanium Mobile SDK from source. The fix is trivial, and is only necessary if you’ve updated to NDK version r8e, released March 21st, 2013 and are building Titanium Mobile using SCons.
To perform the fix, edit the file build/core/build-binary.mk under the Android NDK directory, replacing line 49:
$(cleantarget): PRIVATE_CLEAN_FILES := ($(my)OBJS)
With this:
$(cleantarget): PRIVATE_CLEAN_FILES := $($(my)OBJS)
More information can be found here:
https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/3wIbb-h3nDU
There is a second issue that only affects Max OS X developers using the 64-bit NDK (i.e. the download with the file name android-ndk-r8e-darwin-x86_64.tar.bz2). The fix is trivial and requires you to make the following one-line changes to these two files:
${ANDROID_NDK}/ndk-build: Replace line 158:
file -L “$SHELL” | grep -q “x86[_-]64″
with this:
file -L “$SHELL” | grep -q “[xX]86[_-]64″
${ANDROID_NDK}/build/core/init.mk: Replace line 229:
ifneq (,$(shell file -L $(SHELL) | grep ‘x86[_-]64′))
with this:
ifneq (,$(shell file -L $(SHELL) | grep ‘[xX]86[_-]64′))
As a note, you should be using the 64-bit NDK if your system supports it, since you will get 30% faster builds. The 64-bit tools utilize host resources better (faster, handle larger programs, etc) and they should function identically to their 32-bit counterparts, i.e. 64-bit toolchains still generate 32-bit binaries for Android.