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_VENDOR_MODULE := true 22LOCAL_MODULE_TAGS := optional 23LOCAL_SRC_FILES := \ 24 arith_routines.c \ 25 arith_routines_hist.c \ 26 arith_routines_logist.c \ 27 bandwidth_estimator.c \ 28 decode.c \ 29 decode_bwe.c \ 30 decode_plc.c \ 31 encode.c \ 32 entropy_coding.c \ 33 fft.c \ 34 filterbank_tables.c \ 35 filterbanks.c \ 36 filters.c \ 37 initialize.c \ 38 isacfix.c \ 39 lattice.c \ 40 lpc_masking_model.c \ 41 lpc_tables.c \ 42 pitch_estimator.c \ 43 pitch_estimator_c.c \ 44 pitch_filter.c \ 45 pitch_gain_tables.c \ 46 pitch_lag_tables.c \ 47 spectrum_ar_model_tables.c \ 48 transform_tables.c \ 49 transform.c 50 51# TODO: Use pitch_estimator_mips.c for mips, pitch_estimator_c.c 52 53# Using .S (instead of .s) extention is to include a C header file in assembly. 54my_as_src := \ 55 lattice_armv7.S \ 56 pitch_filter_armv6.S 57my_c_src := \ 58 lattice_c.c \ 59 pitch_filter_c.c 60LOCAL_SRC_FILES_arm += $(my_as_src) 61LOCAL_SRC_FILES_x86 += $(my_c_src) 62LOCAL_SRC_FILES_mips += $(my_c_src) 63LOCAL_SRC_FILES_arm64 += $(my_c_src) 64LOCAL_SRC_FILES_x86_64 += $(my_c_src) 65LOCAL_SRC_FILES_mips64 += $(my_c_src) 66 67# Flags passed to both C and C++ files. 68LOCAL_CFLAGS := \ 69 $(MY_WEBRTC_COMMON_DEFS) 70 71LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 72LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 73LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 74LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 75LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 76LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 77 78LOCAL_CFLAGS += -Wno-unused-parameter 79 80LOCAL_C_INCLUDES := \ 81 $(LOCAL_PATH)/../interface \ 82 $(LOCAL_PATH)/../../../../../../.. \ 83 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include 84 85ifdef WEBRTC_STL 86LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 87LOCAL_SDK_VERSION := 14 88LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 89endif 90 91include $(BUILD_STATIC_LIBRARY) 92 93######################### 94# Build the neon library. 95ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 96 97include $(CLEAR_VARS) 98 99LOCAL_ARM_MODE := arm 100LOCAL_MODULE_CLASS := STATIC_LIBRARIES 101LOCAL_MODULE := libwebrtc_isacfix_neon 102LOCAL_VENDOR_MODULE := true 103LOCAL_MODULE_TAGS := optional 104LOCAL_SRC_FILES := \ 105 filters_neon.c \ 106 lattice_neon.S \ 107 lpc_masking_model_neon.S 108 109# Flags passed to both C and C++ files. 110LOCAL_CFLAGS := \ 111 $(MY_WEBRTC_COMMON_DEFS) \ 112 -mfpu=neon \ 113 -mfloat-abi=softfp \ 114 -flax-vector-conversions 115 116LOCAL_MODULE_TARGET_ARCH := arm 117LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 118 119LOCAL_C_INCLUDES := \ 120 $(LOCAL_PATH)/../interface \ 121 $(LOCAL_PATH)/../../../../../../.. \ 122 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include 123 124ifdef WEBRTC_STL 125LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 126LOCAL_SDK_VERSION := 14 127LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 128endif 129 130include $(BUILD_STATIC_LIBRARY) 131 132endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true) 133