1# Copyright (c) 2011 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
9LOCAL_PATH := $(call my-dir)
10
11include $(CLEAR_VARS)
12
13include $(LOCAL_PATH)/../../../android-webrtc.mk
14
15LOCAL_ARM_MODE := arm
16LOCAL_MODULE := libwebrtc_apm
17LOCAL_MODULE_TAGS := optional
18LOCAL_CPP_EXTENSION := .cc
19LOCAL_SRC_FILES := \
20    $(call all-proto-files-under, .) \
21    audio_buffer.cc \
22    audio_processing_impl.cc \
23    echo_cancellation_impl.cc \
24    echo_control_mobile_impl.cc \
25    gain_control_impl.cc \
26    high_pass_filter_impl.cc \
27    level_estimator_impl.cc \
28    noise_suppression_impl.cc \
29    splitting_filter.cc \
30    processing_component.cc \
31    voice_detection_impl.cc
32
33# Flags passed to both C and C++ files.
34LOCAL_CFLAGS := \
35    $(MY_WEBRTC_COMMON_DEFS) \
36    '-DWEBRTC_NS_FIXED'
37#   floating point
38#   -DWEBRTC_NS_FLOAT'
39
40LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
41LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
42LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
43LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
44LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
45LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
46
47LOCAL_C_INCLUDES := \
48    $(LOCAL_PATH)/interface \
49    $(LOCAL_PATH)/aec/interface \
50    $(LOCAL_PATH)/aecm/interface \
51    $(LOCAL_PATH)/agc/interface \
52    $(LOCAL_PATH)/ns/interface \
53    $(LOCAL_PATH)/../interface \
54    $(LOCAL_PATH)/../.. \
55    $(LOCAL_PATH)/../../common_audio/signal_processing/include \
56    $(LOCAL_PATH)/../../common_audio/vad/include \
57    $(LOCAL_PATH)/../../system_wrappers/interface \
58    external/protobuf/src
59
60LOCAL_SHARED_LIBRARIES := \
61    libcutils \
62    libdl
63
64ifndef WEBRTC_STL
65include external/stlport/libstlport.mk
66else
67LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
68LOCAL_SDK_VERSION := 14
69LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
70endif
71
72include $(BUILD_STATIC_LIBRARY)
73
74# apm process test app
75
76include $(CLEAR_VARS)
77
78LOCAL_MODULE_TAGS := tests
79LOCAL_CPP_EXTENSION := .cc
80LOCAL_SRC_FILES:= \
81    $(call all-proto-files-under, .) \
82    test/process_test.cc
83
84# Flags passed to both C and C++ files.
85LOCAL_CFLAGS := \
86    $(MY_WEBRTC_COMMON_DEFS)
87
88LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
89LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
90LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
91LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
92LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
93LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
94
95LOCAL_C_INCLUDES := \
96    $(LOCAL_PATH)/interface \
97    $(LOCAL_PATH)/../interface \
98    $(LOCAL_PATH)/../.. \
99    $(LOCAL_PATH)/../../system_wrappers/interface \
100    external/gtest/include
101
102LOCAL_STATIC_LIBRARIES := \
103    libgtest \
104    libprotobuf-cpp-2.3.0-lite
105
106MY_LIB_SUFFIX :=
107ifdef WEBRTC_STL
108MY_LIB_SUFFIX := _$(WEBRTC_STL)
109endif
110
111LOCAL_SHARED_LIBRARIES := \
112    libutils \
113    libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX)
114
115LOCAL_MODULE:= webrtc_apm_process_test
116
117ifndef WEBRTC_STL
118include external/stlport/libstlport.mk
119else
120LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
121LOCAL_SDK_VERSION := 14
122LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
123endif
124include $(BUILD_NATIVE_TEST)
125
126# apm unit test app
127
128include $(CLEAR_VARS)
129
130LOCAL_MODULE_TAGS := tests
131LOCAL_CPP_EXTENSION := .cc
132LOCAL_SRC_FILES:= \
133    $(call all-proto-files-under, test) \
134    test/unit_test.cc \
135    test/testsupport/fileutils.cc
136
137# Flags passed to both C and C++ files.
138LOCAL_CFLAGS := \
139    $(MY_WEBRTC_COMMON_DEFS) \
140    '-DWEBRTC_APM_UNIT_TEST_FIXED_PROFILE'
141
142LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
143LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
144LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
145LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
146LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
147LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
148
149LOCAL_C_INCLUDES := \
150    $(LOCAL_PATH)/interface \
151    $(LOCAL_PATH)/../interface \
152    $(LOCAL_PATH)/../.. \
153    $(LOCAL_PATH)/test \
154    $(LOCAL_PATH)/../../system_wrappers/interface \
155    $(LOCAL_PATH)/../../common_audio/signal_processing/include \
156    external/gtest/include \
157    external/protobuf/src
158
159LOCAL_STATIC_LIBRARIES := \
160    libgtest \
161    libprotobuf-cpp-2.3.0-lite
162
163MY_LIB_SUFFIX :=
164ifdef WEBRTC_STL
165MY_LIB_SUFFIX := _$(WEBRTC_STL)
166endif
167
168LOCAL_SHARED_LIBRARIES := \
169    libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX)
170
171LOCAL_MODULE:= webrtc_apm_unit_test
172
173ifndef WEBRTC_STL
174include external/stlport/libstlport.mk
175else
176LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
177LOCAL_SDK_VERSION := 14
178LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
179endif
180include $(BUILD_NATIVE_TEST)
181