1 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 ############################# 10 # Build the non-neon library. 11 12 LOCAL_PATH := $(call my-dir) 13 14 include $(CLEAR_VARS) 15 16 include $(LOCAL_PATH)/../../../../../../../android-webrtc.mk 17 18 LOCAL_ARM_MODE := arm 19 LOCAL_MODULE_CLASS := STATIC_LIBRARIES 20 LOCAL_MODULE := libwebrtc_isacfix 21 LOCAL_MODULE_TAGS := optional 22 LOCAL_SRC_FILES := \ 23 arith_routines.c \ 24 arith_routines_hist.c \ 25 arith_routines_logist.c \ 26 bandwidth_estimator.c \ 27 decode.c \ 28 decode_bwe.c \ 29 decode_plc.c \ 30 encode.c \ 31 entropy_coding.c \ 32 fft.c \ 33 filterbank_tables.c \ 34 filterbanks.c \ 35 filters.c \ 36 initialize.c \ 37 isacfix.c \ 38 lattice.c \ 39 lpc_masking_model.c \ 40 lpc_tables.c \ 41 pitch_estimator.c \ 42 pitch_filter.c \ 43 pitch_gain_tables.c \ 44 pitch_lag_tables.c \ 45 spectrum_ar_model_tables.c \ 46 transform.c 47 48 ifeq ($(ARCH_ARM_HAVE_ARMV7A),true) 49 # Using .S (instead of .s) extention is to include a C header file in assembly. 50 LOCAL_SRC_FILES += \ 51 lattice_armv7.S \ 52 pitch_filter_armv6.S 53 else 54 LOCAL_SRC_FILES += \ 55 lattice_c.c \ 56 pitch_filter_c.c 57 endif 58 59 # Flags passed to both C and C++ files. 60 LOCAL_CFLAGS := \ 61 $(MY_WEBRTC_COMMON_DEFS) 62 63 LOCAL_C_INCLUDES := \ 64 $(LOCAL_PATH)/../interface \ 65 $(LOCAL_PATH)/../../../../../.. \ 66 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include 67 68 LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers 69 70 LOCAL_SHARED_LIBRARIES := \ 71 libcutils \ 72 libdl 73 74 ifndef NDK_ROOT 75 ifndef WEBRTC_STL 76 LOCAL_SHARED_LIBRARIES += libstlport 77 include external/stlport/libstlport.mk 78 else 79 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 80 LOCAL_SDK_VERSION := 14 81 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 82 endif 83 else 84 LOCAL_SHARED_LIBRARIES += libstlport 85 endif 86 87 include $(BUILD_STATIC_LIBRARY) 88 89 ######################### 90 # Build the neon library. 91 ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 92 93 include $(CLEAR_VARS) 94 95 LOCAL_ARM_MODE := arm 96 LOCAL_MODULE_CLASS := STATIC_LIBRARIES 97 LOCAL_MODULE := libwebrtc_isacfix_neon 98 LOCAL_MODULE_TAGS := optional 99 LOCAL_SRC_FILES := \ 100 filters_neon.c \ 101 lattice_neon.S \ 102 lpc_masking_model_neon.S 103 104 # Flags passed to both C and C++ files. 105 LOCAL_CFLAGS := \ 106 $(MY_WEBRTC_COMMON_DEFS) \ 107 -mfpu=neon \ 108 -mfloat-abi=softfp \ 109 -flax-vector-conversions 110 111 LOCAL_C_INCLUDES := \ 112 $(LOCAL_PATH)/../interface \ 113 $(LOCAL_PATH)/../../../../../.. \ 114 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include 115 116 ifndef NDK_ROOT 117 ifndef WEBRTC_STL 118 LOCAL_SHARED_LIBRARIES += libstlport 119 include external/stlport/libstlport.mk 120 else 121 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 122 LOCAL_SDK_VERSION := 14 123 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 124 endif 125 else 126 LOCAL_SHARED_LIBRARIES += libstlport 127 endif 128 129 include $(BUILD_STATIC_LIBRARY) 130 131 endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 132 133 ########################### 134 # isac test app 135 136 include $(CLEAR_VARS) 137 138 LOCAL_MODULE_TAGS := tests 139 LOCAL_CPP_EXTENSION := .cc 140 LOCAL_SRC_FILES:= ../test/kenny.c 141 142 # Flags passed to both C and C++ files. 143 LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS) 144 145 LOCAL_C_INCLUDES := \ 146 $(LOCAL_PATH)/../interface \ 147 $(LOCAL_PATH)/../../../../../.. 148 149 MY_LIB_SUFFIX := 150 ifdef WEBRTC_STL 151 MY_LIB_SUFFIX := _$(WEBRTC_STL) 152 endif 153 154 LOCAL_STATIC_LIBRARIES := \ 155 libwebrtc_isacfix$(MY_LIB_SUFFIX) \ 156 libwebrtc_spl$(MY_LIB_SUFFIX) \ 157 libwebrtc_system_wrappers$(MY_LIB_SUFFIX) 158 159 ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 160 LOCAL_STATIC_LIBRARIES += \ 161 libwebrtc_isacfix_neon$(MY_LIB_SUFFIX) 162 endif 163 164 LOCAL_SHARED_LIBRARIES := \ 165 libutils 166 167 LOCAL_MODULE:= webrtc_isac_test 168 169 ifdef NDK_ROOT 170 include $(BUILD_EXECUTABLE) 171 else 172 ifndef WEBRTC_STL 173 LOCAL_SHARED_LIBRARIES += libstlport 174 include external/stlport/libstlport.mk 175 else 176 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 177 LOCAL_SDK_VERSION := 14 178 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 179 LOCAL_SHARED_LIBRARIES := 180 endif 181 include $(BUILD_NATIVE_TEST) 182 endif 183