title: Building audio processing Little Endian SDK with NDK
body: <p>I am trying to use <code>ndk-build</code> to use native code for audio processing from <a href="http://www.littleendian.com/developers/" rel="noreferrer">Little Endian</a> in an Android application (I don't have JNI yet).</p>
  
  <p>When I executed ndk-build in jni dir I got ($USER_PATH is path to directory on my computer):</p>
  
  <pre><code>Android NDK: WARNING: Rebuilding libc++ libraries from sources!    
  Android NDK: You might want to use $NDK/build/tools/build-cxx-stl.sh --stl=libc++    
  Android NDK: in order to build prebuilt versions to speed up your builds!    
  Android NDK: ERROR:$USER_PATH/android-ndk-r10/sources/android/compiler-rt/Android.mk:compiler_rt_shared: LOCAL_SRC_FILES points to a missing file    
  Android NDK: $USER_PATH/Android/android-ndk-r10/sources/android/compiler-rt/libs/armeabi/libcompiler_rt_shared.so exists  or that its path is correct   
  $USER_PATH/android-ndk-r10/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting    .  Stop.
  </code></pre>
  
  <p>I saw that is because of PREBUILT_STATIC_LIBRARY which points to missing files.</p>
  
  <p>How can I solve this?</p>
  
  <p>Directory structure:
  <img src="https://i.stack.imgur.com/MBNCj.png" alt="enter image description here"></p>
  
  <p>There are .mk files:</p>
  
  <h2>Android.mk</h2>
  
  <pre><code>MY_LOCAL_PATH := $(call my-dir)
  
  ifndef LE_SDK_PATH
      LE_SDK_PATH := $(call my-dir)
  endif
  
  include $(MY_LOCAL_PATH)/le_audioio.mk
  include $(MY_LOCAL_PATH)/le_utility.mk
  
  LOCAL_PATH := ${MY_LOCAL_PATH}
  include $(CLEAR_VARS)
  
  LOCAL_MODULE           := little-endian
  LOCAL_STATIC_LIBRARIES := le_audioio le_utility
  
  include $(BUILD_SHARED_LIBRARY)
  </code></pre>
  
  <h2>Application.mk</h2>
  
  <pre><code>APP_PLATFORM := android-14
  APP_STL      := c++_static
  APP_ABI      := armeabi armeabi-v7a x86
  APP_OPTIM    := release
  APP_CFLAGS   += -g
  
  NDK_TOOLCHAIN_VERSION := clang
  </code></pre>
  
  <h2>le_audioio.mk</h2>
  
  <pre><code>ifndef LE_SDK_PATH
      LE_SDK_PATH := $(call my-dir)
  endif
  
  LOCAL_PATH:= $(LE_SDK_PATH)
  
  include $(CLEAR_VARS)
  
  LOCAL_MODULE            := le_audioio
  LOCAL_EXPORT_C_INCLUDES := $(abspath $(LE_SDK_PATH)/include)
  LOCAL_EXPORT_LDLIBS     += -lOpenSLES
  ifeq ($(TARGET_ARCH_ABI),x86)
      LOCAL_SRC_FILES     := libs/development/libAudioIO_Android_x86-32_SSSE3.a
  else
      ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
          LOCAL_ARM_NEON  := true
          LOCAL_SRC_FILES := libs/development/libAudioIO_Android_ARMv7a_NEON.a
      else
          LOCAL_SRC_FILES := libs/release/libAudioIO_Android_ARMv6_VFP2.a
      endif
  endif
  
  include $(PREBUILT_STATIC_LIBRARY)
  </code></pre>
  
  <h2>le_utilityio.mk</h2>
  
  <pre><code>ifndef LE_SDK_PATH
      LE_SDK_PATH := $(call my-dir)
  endif
  
  LOCAL_PATH:= $(LE_SDK_PATH)
  
  include $(CLEAR_VARS)
  
  LOCAL_MODULE            := le_utility
  LOCAL_EXPORT_C_INCLUDES := $(abspath $(LE_SDK_PATH)/include)
  LOCAL_EXPORT_LDLIBS     += -landroid -llog
  ifeq ($(TARGET_ARCH_ABI),x86)
      LOCAL_SRC_FILES     := libs/development/libUtility_Android_x86-32_SSSE3.a
  else
      ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
          LOCAL_ARM_NEON  := true
          LOCAL_SRC_FILES := libs/development/libUtility_Android_ARMv7a_NEON.a
      else
          LOCAL_SRC_FILES     := libs/release/libUtility_Android_ARMv6_VFP2.a
          LOCAL_EXPORT_LDLIBS += -latomic
      endif
  endif
  
  include $(PREBUILT_STATIC_LIBRARY)
  </code></pre>