blob: bd2a91df002f5048b945c5070d3e68cd38bebf85 [file] [log] [blame]
kma@webrtc.orgadf8ddf2012-07-10 19:30:571# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:252#
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
kma@webrtc.orgf0a964d2011-12-14 18:59:439#############################
10# Build the non-neon library.
11
niklase@google.com470e71d2011-07-07 08:21:2512LOCAL_PATH := $(call my-dir)
13
14include $(CLEAR_VARS)
15
leozwang@google.com79835d12011-08-05 21:01:0216include $(LOCAL_PATH)/../../../../../../../android-webrtc.mk
17
niklase@google.com470e71d2011-07-07 08:21:2518LOCAL_ARM_MODE := arm
19LOCAL_MODULE_CLASS := STATIC_LIBRARIES
20LOCAL_MODULE := libwebrtc_isacfix
21LOCAL_MODULE_TAGS := optional
leozwang@google.com79835d12011-08-05 21:01:0222LOCAL_SRC_FILES := \
23 arith_routines.c \
niklase@google.com470e71d2011-07-07 08:21:2524 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
kma@webrtc.orgbadf2b82012-01-11 18:01:3948ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
kma@webrtc.orgadf8ddf2012-07-10 19:30:5749# Using .S (instead of .s) extention is to include a C header file in assembly.
kma@webrtc.orgbadf2b82012-01-11 18:01:3950LOCAL_SRC_FILES += \
kma@webrtc.orgadf8ddf2012-07-10 19:30:5751 lattice_armv7.S \
kma@webrtc.orgf4ca5222012-09-17 20:16:1552 pitch_filter_armv6.S
kma@webrtc.orgbadf2b82012-01-11 18:01:3953else
54LOCAL_SRC_FILES += \
55 lattice_c.c
56endif
57
niklase@google.com470e71d2011-07-07 08:21:2558# Flags passed to both C and C++ files.
leozwang@google.com79835d12011-08-05 21:01:0259LOCAL_CFLAGS := \
60 $(MY_WEBRTC_COMMON_DEFS)
niklase@google.com470e71d2011-07-07 08:21:2561
leozwang@google.com79835d12011-08-05 21:01:0262LOCAL_C_INCLUDES := \
niklase@google.com470e71d2011-07-07 08:21:2563 $(LOCAL_PATH)/../interface \
leozwang@google.com79835d12011-08-05 21:01:0264 $(LOCAL_PATH)/../../../../../.. \
kma@webrtc.org746f9e32012-01-04 17:47:5765 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include
niklase@google.com470e71d2011-07-07 08:21:2566
kma@webrtc.org71550982012-08-06 21:04:3467LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers
68
leozwang@google.com79835d12011-08-05 21:01:0269LOCAL_SHARED_LIBRARIES := \
70 libcutils \
niklase@google.com470e71d2011-07-07 08:21:2571 libdl \
72 libstlport
niklase@google.com470e71d2011-07-07 08:21:2573
leozwang@google.com79835d12011-08-05 21:01:0274ifndef NDK_ROOT
niklase@google.com470e71d2011-07-07 08:21:2575include external/stlport/libstlport.mk
leozwang@google.com79835d12011-08-05 21:01:0276endif
niklase@google.com470e71d2011-07-07 08:21:2577include $(BUILD_STATIC_LIBRARY)
kma@webrtc.org13318ef2011-11-10 18:00:2278
kma@webrtc.orgf0a964d2011-12-14 18:59:4379#########################
80# Build the neon library.
kma@webrtc.org746f9e32012-01-04 17:47:5781ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
kma@webrtc.orgfa9b0162011-11-18 02:50:5582
kma@webrtc.orgf0a964d2011-12-14 18:59:4383include $(CLEAR_VARS)
84
85LOCAL_ARM_MODE := arm
86LOCAL_MODULE_CLASS := STATIC_LIBRARIES
87LOCAL_MODULE := libwebrtc_isacfix_neon
88LOCAL_MODULE_TAGS := optional
89LOCAL_SRC_FILES := \
90 filters_neon.c \
kma@webrtc.org2d4c4ae2012-08-03 21:46:0591 lattice_neon.S \
92 lpc_masking_model_neon.S
kma@webrtc.orgf0a964d2011-12-14 18:59:4393
94# Flags passed to both C and C++ files.
95LOCAL_CFLAGS := \
96 $(MY_WEBRTC_COMMON_DEFS) \
97 -mfpu=neon \
kma@webrtc.org746f9e32012-01-04 17:47:5798 -mfloat-abi=softfp \
kma@webrtc.orgf0a964d2011-12-14 18:59:4399 -flax-vector-conversions
100
101LOCAL_C_INCLUDES := \
102 $(LOCAL_PATH)/../interface \
103 $(LOCAL_PATH)/../../../../../.. \
kma@webrtc.orgbadf2b82012-01-11 18:01:39104 $(LOCAL_PATH)/../../../../../../common_audio/signal_processing/include
kma@webrtc.orgf0a964d2011-12-14 18:59:43105
106
107ifndef NDK_ROOT
108include external/stlport/libstlport.mk
109endif
110include $(BUILD_STATIC_LIBRARY)
111
kma@webrtc.org746f9e32012-01-04 17:47:57112endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
113
kma@webrtc.orgf0a964d2011-12-14 18:59:43114###########################
kjellander@webrtc.org543611a2011-11-18 13:25:13115# isac test app
kma@webrtc.orgf0a964d2011-12-14 18:59:43116
kma@webrtc.org13318ef2011-11-10 18:00:22117include $(CLEAR_VARS)
118
119LOCAL_MODULE_TAGS := tests
120LOCAL_CPP_EXTENSION := .cc
121LOCAL_SRC_FILES:= ../test/kenny.c
122
123# Flags passed to both C and C++ files.
124LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS)
125
126LOCAL_C_INCLUDES := \
127 $(LOCAL_PATH)/../interface \
128 $(LOCAL_PATH)/../../../../../..
129
leozwang@webrtc.orgf147bbc2011-12-14 18:22:41130LOCAL_STATIC_LIBRARIES := \
131 libwebrtc_isacfix \
kma@webrtc.org71550982012-08-06 21:04:34132 libwebrtc_spl \
133 libwebrtc_system_wrappers
leozwang@webrtc.orgf147bbc2011-12-14 18:22:41134
kma@webrtc.org746f9e32012-01-04 17:47:57135ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
136LOCAL_STATIC_LIBRARIES += \
137 libwebrtc_isacfix_neon
138endif
139
kma@webrtc.org13318ef2011-11-10 18:00:22140LOCAL_SHARED_LIBRARIES := \
leozwang@webrtc.orgf147bbc2011-12-14 18:22:41141 libutils
kma@webrtc.org13318ef2011-11-10 18:00:22142
143LOCAL_MODULE:= webrtc_isac_test
144
145ifdef NDK_ROOT
146include $(BUILD_EXECUTABLE)
147else
148include $(BUILD_NATIVE_TEST)
149endif