Android で NDKビルドを動かすとndk-build cleanでエラーになってしまった。
こういうの。
dk-build clean
Clean: gnustl_shared [armeabi-v7e]
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `rm -rf (TARGET_OBJS)'
make: *** [clean-gnustl_shared-armeabi] Error 1
色々調べたところ、原因は Android NDK r8eの問題のようで
android-ndk/build/core/build-binary.mk
の49行目を次のように修正したらエラーが出なくなった。
変更前:
$(cleantarget): PRIVATE_CLEAN_FILES := ($(my)OBJS)
変更後:
$(cleantarget): PRIVATE_CLEAN_FILES := $($(my)OBJS)
変更後の実行結果:
/Library/android-ndk/ndk-build clean NDK_DEBUG=1 all
Clean: cvjava [armeabi-v7a]
Clean: gnustl_shared [armeabi-v7a]
Clean: gnustl_static [armeabi-v7a]
Clean: scv [armeabi-v7a]
再現環境はインストールしたバージョンは NDK r8e の OS X 64ビット版(android-ndk-r8e-darwin-x86_64.tar.bz2)
でした。
他の環境で試したわけではないのですが、他の環境ではこれでエラーがでないのでしょうか。
追記
Linux 64bit r8e でも再現するという情報をいただきました。対策も同様でいいそうです。