Android.mk revision 792d5464151b0e5744e311ff79eca886e277807b
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 12LOCAL_PATH := $(call my-dir) 13 14include $(CLEAR_VARS) 15 16include $(LOCAL_PATH)/../../../../../../../android-webrtc.mk 17 18LOCAL_ARM_MODE := arm 19LOCAL_MODULE_CLASS := STATIC_LIBRARIES 20LOCAL_MODULE := libwebrtc_isacfix 21LOCAL_MODULE_TAGS := optional 22LOCAL_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# Using .S (instead of .s) extention is to include a C header file in assembly. 49my_as_src := \ 50 lattice_armv7.S \ 51 pitch_filter_armv6.S 52my_c_src := \ 53 lattice_c.c \ 54 pitch_filter_c.c 55LOCAL_SRC_FILES_arm += $(my_as_src) 56LOCAL_SRC_FILES_x86 += $(my_c_src) 57LOCAL_SRC_FILES_mips += $(my_c_src) 58LOCAL_SRC_FILES_arm64 += $(my_c_src) 59LOCAL_SRC_FILES_x86_64 += $(my_c_src) 60LOCAL_SRC_FILES_mips64 += $(my_c_src) 61 62# Flags passed to both C and C++ files. 63LOCAL_CFLAGS := \ 64 $(MY_WEBRTC_COMMON_DEFS) 65 66LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 67LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 68LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 69LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 70LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 71LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 72 73LOCAL_C_INCLUDES := \ 74 $(LOCAL_PATH)/../interface \ 75 $(LOCAL_PATH)/../../../../../.. \ 76 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include 77 78LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers 79 80LOCAL_SHARED_LIBRARIES := \ 81 libcutils \ 82 libdl 83 84ifndef NDK_ROOT 85ifndef WEBRTC_STL 86LOCAL_SHARED_LIBRARIES += libstlport 87include external/stlport/libstlport.mk 88else 89LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 90LOCAL_SDK_VERSION := 14 91LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 92endif 93else 94LOCAL_SHARED_LIBRARIES += libstlport 95endif 96 97include $(BUILD_STATIC_LIBRARY) 98 99######################### 100# Build the neon library. 101ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 102 103include $(CLEAR_VARS) 104 105LOCAL_ARM_MODE := arm 106LOCAL_MODULE_CLASS := STATIC_LIBRARIES 107LOCAL_MODULE := libwebrtc_isacfix_neon 108LOCAL_MODULE_TAGS := optional 109LOCAL_SRC_FILES := \ 110 filters_neon.c \ 111 lattice_neon.S \ 112 lpc_masking_model_neon.S 113 114# Flags passed to both C and C++ files. 115LOCAL_CFLAGS := \ 116 $(MY_WEBRTC_COMMON_DEFS) \ 117 -mfpu=neon \ 118 -mfloat-abi=softfp \ 119 -flax-vector-conversions 120 121LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 122LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 123LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 124LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 125LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 126LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 127 128LOCAL_C_INCLUDES := \ 129 $(LOCAL_PATH)/../interface \ 130 $(LOCAL_PATH)/../../../../../.. \ 131 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include 132 133ifndef NDK_ROOT 134ifndef WEBRTC_STL 135LOCAL_SHARED_LIBRARIES += libstlport 136include external/stlport/libstlport.mk 137else 138LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 139LOCAL_SDK_VERSION := 14 140LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 141endif 142else 143LOCAL_SHARED_LIBRARIES += libstlport 144endif 145 146include $(BUILD_STATIC_LIBRARY) 147 148endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 149 150########################### 151# isac test app 152 153include $(CLEAR_VARS) 154 155LOCAL_MODULE_TAGS := tests 156LOCAL_CPP_EXTENSION := .cc 157LOCAL_SRC_FILES:= ../test/kenny.c 158 159# Flags passed to both C and C++ files. 160LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS) 161 162LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 163LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 164LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 165LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 166LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 167LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 168 169LOCAL_C_INCLUDES := \ 170 $(LOCAL_PATH)/../interface \ 171 $(LOCAL_PATH)/../../../../../.. 172 173MY_LIB_SUFFIX := 174ifdef WEBRTC_STL 175MY_LIB_SUFFIX := _$(WEBRTC_STL) 176endif 177 178LOCAL_STATIC_LIBRARIES := \ 179 libwebrtc_isacfix$(MY_LIB_SUFFIX) \ 180 libwebrtc_spl$(MY_LIB_SUFFIX) \ 181 libwebrtc_system_wrappers$(MY_LIB_SUFFIX) 182 183ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 184LOCAL_STATIC_LIBRARIES += \ 185 libwebrtc_isacfix_neon$(MY_LIB_SUFFIX) 186endif 187 188LOCAL_SHARED_LIBRARIES := \ 189 libutils 190 191LOCAL_MODULE:= webrtc_isac_test 192 193ifdef NDK_ROOT 194include $(BUILD_EXECUTABLE) 195else 196ifndef WEBRTC_STL 197LOCAL_SHARED_LIBRARIES += libstlport 198include external/stlport/libstlport.mk 199else 200LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 201LOCAL_SDK_VERSION := 14 202LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 203LOCAL_SHARED_LIBRARIES := 204endif 205include $(BUILD_NATIVE_TEST) 206endif 207