blob: ecbc5ddf4ef6bc0553bf5638fc106cea5ee2c184 [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 \
leozwang@webrtc.orgf3adba42012-11-15 18:17:40 +000058 $(LOCAL_PATH)/../.. \
59 external/webrtc
niklase@google.com470e71d2011-07-07 08:21:25 +000060
kma@webrtc.org4bc24c42012-01-24 02:12:49 +000061ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
62LOCAL_SRC_FILES += \
63 filter_ar_fast_q12_armv7.s
64else
65LOCAL_SRC_FILES += \
66 filter_ar_fast_q12.c
67endif
68
kma@webrtc.org59f16ec2012-02-07 17:15:15 +000069ifeq ($(TARGET_ARCH),arm)
70LOCAL_SRC_FILES += \
kma@webrtc.orgbfa7f962012-02-23 22:38:56 +000071 complex_bit_reverse_arm.s \
kma@webrtc.orgc839f082012-08-13 21:49:23 +000072 spl_sqrt_floor_arm.s
kma@webrtc.org59f16ec2012-02-07 17:15:15 +000073else
74LOCAL_SRC_FILES += \
kma@webrtc.orgbfa7f962012-02-23 22:38:56 +000075 complex_bit_reverse.c \
kma@webrtc.org59f16ec2012-02-07 17:15:15 +000076 spl_sqrt_floor.c
77endif
78
niklase@google.com470e71d2011-07-07 08:21:25 +000079LOCAL_SHARED_LIBRARIES := libstlport
80
niklase@google.com470e71d2011-07-07 08:21:25 +000081ifeq ($(TARGET_OS)-$(TARGET_SIMULATOR),linux-true)
82LOCAL_LDLIBS += -ldl -lpthread
83endif
84
85ifneq ($(TARGET_SIMULATOR),true)
86LOCAL_SHARED_LIBRARIES += libdl
87endif
88
leozwang@google.com77f49d82011-07-27 18:58:33 +000089ifndef NDK_ROOT
niklase@google.com470e71d2011-07-07 08:21:25 +000090include external/stlport/libstlport.mk
leozwang@google.com77f49d82011-07-27 18:58:33 +000091endif
niklase@google.com470e71d2011-07-07 08:21:25 +000092include $(BUILD_STATIC_LIBRARY)
kma@webrtc.org0221b782012-09-08 00:09:26 +000093
94#########################
95# Build the neon library.
96ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
97
98include $(CLEAR_VARS)
99
100LOCAL_ARM_MODE := arm
101LOCAL_MODULE_CLASS := STATIC_LIBRARIES
102LOCAL_MODULE := libwebrtc_spl_neon
103LOCAL_MODULE_TAGS := optional
104LOCAL_SRC_FILES := \
105 cross_correlation_neon.s \
106 downsample_fast_neon.s \
107 min_max_operations_neon.s \
108 vector_scaling_operations_neon.s
109
110# Flags passed to both C and C++ files.
kma@webrtc.org7a50fa42012-09-08 00:32:59 +0000111LOCAL_CFLAGS := \
112 $(MY_WEBRTC_COMMON_DEFS) \
113 $(MY_ARM_CFLAGS_NEON)
kma@webrtc.org0221b782012-09-08 00:09:26 +0000114
115LOCAL_C_INCLUDES := \
116 $(LOCAL_PATH)/include \
leozwang@webrtc.orgf3adba42012-11-15 18:17:40 +0000117 $(LOCAL_PATH)/../.. \
118 external/webrtc
kma@webrtc.org0221b782012-09-08 00:09:26 +0000119
120ifndef NDK_ROOT
121include external/stlport/libstlport.mk
122endif
123include $(BUILD_STATIC_LIBRARY)
124
125endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
126