blob: a0ebd6d63b8ecd9b71dd47793b0ba95b950195dd [file] [log] [blame]
kma@webrtc.org4bc24c42012-01-24 02:12:49 +00001# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:25 +00002#
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
9LOCAL_PATH := $(call my-dir)
10
11include $(CLEAR_VARS)
12
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000013include $(LOCAL_PATH)/../../../android-webrtc.mk
leozwang@google.com79835d12011-08-05 21:01:02 +000014
niklase@google.com470e71d2011-07-07 08:21:25 +000015LOCAL_ARM_MODE := arm
16LOCAL_MODULE_CLASS := STATIC_LIBRARIES
17LOCAL_MODULE := libwebrtc_spl
18LOCAL_MODULE_TAGS := optional
leozwang@google.com77f49d82011-07-27 18:58:33 +000019LOCAL_SRC_FILES := \
niklase@google.com470e71d2011-07-07 08:21:25 +000020 auto_corr_to_refl_coef.c \
21 auto_correlation.c \
22 complex_fft.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000023 copy_set_operations.c \
kma@webrtc.org0221b782012-09-08 00:09:26 +000024 cross_correlation.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000025 division_operations.c \
26 dot_product_with_scale.c \
kma@webrtc.org0221b782012-09-08 00:09:26 +000027 downsample_fast.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000028 energy.c \
29 filter_ar.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000030 filter_ma_fast_q12.c \
31 get_hanning_window.c \
32 get_scaling_square.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000033 ilbc_specific_functions.c \
34 levinson_durbin.c \
35 lpc_to_refl_coef.c \
36 min_max_operations.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000037 randomization_functions.c \
kma@webrtc.orgf9e6cc22012-09-21 18:51:12 +000038 real_fft.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000039 refl_coef_to_lpc.c \
40 resample.c \
41 resample_48khz.c \
42 resample_by_2.c \
43 resample_by_2_internal.c \
44 resample_fractional.c \
kma@webrtc.org0221b782012-09-08 00:09:26 +000045 spl_init.c \
niklase@google.comf50cf1f2011-07-07 08:33:00 +000046 spl_sqrt.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000047 spl_version.c \
48 splitting_filter.c \
49 sqrt_of_one_minus_x_squared.c \
niklase@google.com470e71d2011-07-07 08:21:25 +000050 vector_scaling_operations.c
51
niklase@google.com470e71d2011-07-07 08:21:25 +000052# Flags passed to both C and C++ files.
leozwang@google.com77f49d82011-07-27 18:58:33 +000053LOCAL_CFLAGS := \
54 $(MY_WEBRTC_COMMON_DEFS)
niklase@google.com470e71d2011-07-07 08:21:25 +000055
leozwang@google.com77f49d82011-07-27 18:58:33 +000056LOCAL_C_INCLUDES := \
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000057 $(LOCAL_PATH)/include \
58 $(LOCAL_PATH)/../..
niklase@google.com470e71d2011-07-07 08:21:25 +000059
kma@webrtc.org4bc24c42012-01-24 02:12:49 +000060ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
61LOCAL_SRC_FILES += \
62 filter_ar_fast_q12_armv7.s
63else
64LOCAL_SRC_FILES += \
65 filter_ar_fast_q12.c
66endif
67
kma@webrtc.org59f16ec2012-02-07 17:15:15 +000068ifeq ($(TARGET_ARCH),arm)
69LOCAL_SRC_FILES += \
kma@webrtc.orgbfa7f962012-02-23 22:38:56 +000070 complex_bit_reverse_arm.s \
kma@webrtc.orgc839f082012-08-13 21:49:23 +000071 spl_sqrt_floor_arm.s
kma@webrtc.org59f16ec2012-02-07 17:15:15 +000072else
73LOCAL_SRC_FILES += \
kma@webrtc.orgbfa7f962012-02-23 22:38:56 +000074 complex_bit_reverse.c \
kma@webrtc.org59f16ec2012-02-07 17:15:15 +000075 spl_sqrt_floor.c
76endif
77
niklase@google.com470e71d2011-07-07 08:21:25 +000078LOCAL_SHARED_LIBRARIES := libstlport
79
niklase@google.com470e71d2011-07-07 08:21:25 +000080ifeq ($(TARGET_OS)-$(TARGET_SIMULATOR),linux-true)
81LOCAL_LDLIBS += -ldl -lpthread
82endif
83
84ifneq ($(TARGET_SIMULATOR),true)
85LOCAL_SHARED_LIBRARIES += libdl
86endif
87
leozwang@google.com77f49d82011-07-27 18:58:33 +000088ifndef NDK_ROOT
niklase@google.com470e71d2011-07-07 08:21:25 +000089include external/stlport/libstlport.mk
leozwang@google.com77f49d82011-07-27 18:58:33 +000090endif
niklase@google.com470e71d2011-07-07 08:21:25 +000091include $(BUILD_STATIC_LIBRARY)
kma@webrtc.org0221b782012-09-08 00:09:26 +000092
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_spl_neon
102LOCAL_MODULE_TAGS := optional
103LOCAL_SRC_FILES := \
104 cross_correlation_neon.s \
105 downsample_fast_neon.s \
106 min_max_operations_neon.s \
107 vector_scaling_operations_neon.s
108
109# Flags passed to both C and C++ files.
kma@webrtc.org7a50fa42012-09-08 00:32:59 +0000110LOCAL_CFLAGS := \
111 $(MY_WEBRTC_COMMON_DEFS) \
112 $(MY_ARM_CFLAGS_NEON)
kma@webrtc.org0221b782012-09-08 00:09:26 +0000113
114LOCAL_C_INCLUDES := \
115 $(LOCAL_PATH)/include \
116 $(LOCAL_PATH)/../..
117
118ifndef NDK_ROOT
119include external/stlport/libstlport.mk
120endif
121include $(BUILD_STATIC_LIBRARY)
122
123endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
124