1e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
2e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent#
3e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# Use of this source code is governed by a BSD-style license
4e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# that can be found in the LICENSE file in the root of the source
5e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# tree. An additional intellectual property rights grant can be found
6e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# in the file PATENTS.  All contributing project authors may
7e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# be found in the AUTHORS file in the root of the source tree.
8e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
9e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric LaurentLOCAL_PATH := $(call my-dir)
10e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
11e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurentinclude $(CLEAR_VARS)
12e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
13c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(LOCAL_PATH)/../../../android-webrtc.mk
14c55a96383497a772a307b346368133960b02ad03Eric Laurent
15e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric LaurentLOCAL_ARM_MODE := arm
16e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric LaurentLOCAL_MODULE_CLASS := STATIC_LIBRARIES
17e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric LaurentLOCAL_MODULE := libwebrtc_spl
18e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric LaurentLOCAL_MODULE_TAGS := optional
19c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES := \
20e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    auto_corr_to_refl_coef.c \
21e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    auto_correlation.c \
22e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    complex_fft.c \
23e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    complex_bit_reverse.c \
24e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    copy_set_operations.c \
25e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    cross_correlation.c \
26e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    division_operations.c \
27e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    dot_product_with_scale.c \
28e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    downsample_fast.c \
29e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    energy.c \
30e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    filter_ar.c \
31e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    filter_ar_fast_q12.c \
32e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    filter_ma_fast_q12.c \
33e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    get_hanning_window.c \
34e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    get_scaling_square.c \
35e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    ilbc_specific_functions.c \
36e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    levinson_durbin.c \
37e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    lpc_to_refl_coef.c \
38e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    min_max_operations.c \
39e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    randomization_functions.c \
40e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    refl_coef_to_lpc.c \
41e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    resample.c \
42e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    resample_48khz.c \
43e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    resample_by_2.c \
44e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    resample_by_2_internal.c \
45e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    resample_fractional.c \
46e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    spl_sqrt.c \
47e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    spl_version.c \
48e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    splitting_filter.c \
49e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    sqrt_of_one_minus_x_squared.c \
50e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent    vector_scaling_operations.c
51e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
52e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# Flags passed to both C and C++ files.
53c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \
54c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(MY_WEBRTC_COMMON_DEFS)
55e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
56792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
57792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
58792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
59792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
60792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
61792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
62792d5464151b0e5744e311ff79eca886e277807bYing Wang
63c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \
64c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/include \
655d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak    $(LOCAL_PATH)/../..
66e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
67c55a96383497a772a307b346368133960b02ad03Eric Laurentifeq ($(ARCH_ARM_HAVE_NEON),true)
68792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_arm += \
69c55a96383497a772a307b346368133960b02ad03Eric Laurent    min_max_operations_neon.c
70792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm += \
71c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(MY_ARM_CFLAGS_NEON)
72c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
73e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
74792d5464151b0e5744e311ff79eca886e277807bYing Wangmy_as_src := spl_sqrt_floor.s
75792d5464151b0e5744e311ff79eca886e277807bYing Wangmy_c_src := spl_sqrt_floor.c
76792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_arm += $(my_as_src)
77792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_x86 += $(my_c_src)
78792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_mips += $(my_c_src)
79792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_arm64 += $(my_c_src)
80792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_x86_64 += $(my_c_src)
81792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_SRC_FILES_mips64 += $(my_c_src)
825870e071aabfbde0d570142acf440ab4dca97e04Eric Laurent
835d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL
845d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SHARED_LIBRARIES += libstlport
85e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurentinclude external/stlport/libstlport.mk
865d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
875d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
885d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14
895d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
90c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
915d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak
92e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurentinclude $(BUILD_STATIC_LIBRARY)
93