1c55a96383497a772a307b346368133960b02ad03Eric Laurent# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
2c55a96383497a772a307b346368133960b02ad03Eric Laurent#
3c55a96383497a772a307b346368133960b02ad03Eric Laurent# Use of this source code is governed by a BSD-style license
4c55a96383497a772a307b346368133960b02ad03Eric Laurent# that can be found in the LICENSE file in the root of the source
5c55a96383497a772a307b346368133960b02ad03Eric Laurent# tree. An additional intellectual property rights grant can be found
6c55a96383497a772a307b346368133960b02ad03Eric Laurent# in the file PATENTS.  All contributing project authors may
7c55a96383497a772a307b346368133960b02ad03Eric Laurent# be found in the AUTHORS file in the root of the source tree.
8c55a96383497a772a307b346368133960b02ad03Eric Laurent
9c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_PATH := $(call my-dir)
10c55a96383497a772a307b346368133960b02ad03Eric Laurent
11c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS)
12c55a96383497a772a307b346368133960b02ad03Eric Laurent
13c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(LOCAL_PATH)/../../../android-webrtc.mk
14c55a96383497a772a307b346368133960b02ad03Eric Laurent
15c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_ARM_MODE := arm
16c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE := libwebrtc_apm
17c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := optional
18c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CPP_EXTENSION := .cc
19c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES := \
20c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(call all-proto-files-under, .) \
21c55a96383497a772a307b346368133960b02ad03Eric Laurent    audio_buffer.cc \
22c55a96383497a772a307b346368133960b02ad03Eric Laurent    audio_processing_impl.cc \
23c55a96383497a772a307b346368133960b02ad03Eric Laurent    echo_cancellation_impl.cc \
24c55a96383497a772a307b346368133960b02ad03Eric Laurent    echo_control_mobile_impl.cc \
25c55a96383497a772a307b346368133960b02ad03Eric Laurent    gain_control_impl.cc \
26c55a96383497a772a307b346368133960b02ad03Eric Laurent    high_pass_filter_impl.cc \
27c55a96383497a772a307b346368133960b02ad03Eric Laurent    level_estimator_impl.cc \
28c55a96383497a772a307b346368133960b02ad03Eric Laurent    noise_suppression_impl.cc \
29c55a96383497a772a307b346368133960b02ad03Eric Laurent    splitting_filter.cc \
30c55a96383497a772a307b346368133960b02ad03Eric Laurent    processing_component.cc \
31c55a96383497a772a307b346368133960b02ad03Eric Laurent    voice_detection_impl.cc
32c55a96383497a772a307b346368133960b02ad03Eric Laurent
33c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files.
34c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \
35c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(MY_WEBRTC_COMMON_DEFS) \
36c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_NS_FIXED'
37c55a96383497a772a307b346368133960b02ad03Eric Laurent#   floating point
38c55a96383497a772a307b346368133960b02ad03Eric Laurent#   -DWEBRTC_NS_FLOAT'
39c55a96383497a772a307b346368133960b02ad03Eric Laurent
40792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
41792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
42792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
43792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
44792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
45792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
46792d5464151b0e5744e311ff79eca886e277807bYing Wang
47c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \
48c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/interface \
49c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/aec/interface \
50c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/aecm/interface \
51c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/agc/interface \
52c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/ns/interface \
53c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../interface \
54c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../.. \
55c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../common_audio/signal_processing/include \
56c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../common_audio/vad/include \
57c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../system_wrappers/interface \
58c55a96383497a772a307b346368133960b02ad03Eric Laurent    external/protobuf/src
59c55a96383497a772a307b346368133960b02ad03Eric Laurent
60c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SHARED_LIBRARIES := \
61c55a96383497a772a307b346368133960b02ad03Eric Laurent    libcutils \
625d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak    libdl
63c55a96383497a772a307b346368133960b02ad03Eric Laurent
645d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL
65c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude external/stlport/libstlport.mk
665d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
675d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
685d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14
695d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
705d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
715d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak
72c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_STATIC_LIBRARY)
73c55a96383497a772a307b346368133960b02ad03Eric Laurent
74c55a96383497a772a307b346368133960b02ad03Eric Laurent# apm process test app
75c55a96383497a772a307b346368133960b02ad03Eric Laurent
76c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS)
77c55a96383497a772a307b346368133960b02ad03Eric Laurent
78c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := tests
79c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CPP_EXTENSION := .cc
80c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES:= \
81c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(call all-proto-files-under, .) \
82c55a96383497a772a307b346368133960b02ad03Eric Laurent    test/process_test.cc
83c55a96383497a772a307b346368133960b02ad03Eric Laurent
84c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files.
85c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \
86c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(MY_WEBRTC_COMMON_DEFS)
87c55a96383497a772a307b346368133960b02ad03Eric Laurent
88792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
89792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
90792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
91792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
92792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
93792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
94792d5464151b0e5744e311ff79eca886e277807bYing Wang
95c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \
96c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/interface \
97c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../interface \
98c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../.. \
99c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../system_wrappers/interface \
100c55a96383497a772a307b346368133960b02ad03Eric Laurent    external/gtest/include
101c55a96383497a772a307b346368133960b02ad03Eric Laurent
102c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_STATIC_LIBRARIES := \
103c55a96383497a772a307b346368133960b02ad03Eric Laurent    libgtest \
104c55a96383497a772a307b346368133960b02ad03Eric Laurent    libprotobuf-cpp-2.3.0-lite
105c55a96383497a772a307b346368133960b02ad03Eric Laurent
1065d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX :=
1075d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifdef WEBRTC_STL
1085d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX := _$(WEBRTC_STL)
1095d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
1105d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak
111c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SHARED_LIBRARIES := \
112c55a96383497a772a307b346368133960b02ad03Eric Laurent    libutils \
1135d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak    libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX)
114c55a96383497a772a307b346368133960b02ad03Eric Laurent
115c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE:= webrtc_apm_process_test
116c55a96383497a772a307b346368133960b02ad03Eric Laurent
1175d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL
118c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude external/stlport/libstlport.mk
1195d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
1205d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
1215d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14
1225d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
1235d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
124c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_NATIVE_TEST)
125c55a96383497a772a307b346368133960b02ad03Eric Laurent
126c55a96383497a772a307b346368133960b02ad03Eric Laurent# apm unit test app
127c55a96383497a772a307b346368133960b02ad03Eric Laurent
128c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS)
129c55a96383497a772a307b346368133960b02ad03Eric Laurent
130c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := tests
131c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CPP_EXTENSION := .cc
132c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES:= \
133c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(call all-proto-files-under, test) \
134c55a96383497a772a307b346368133960b02ad03Eric Laurent    test/unit_test.cc \
135056a3c3e341f44edcd220608666644a5a14071b0Ying Wang    test/testsupport/fileutils.cc
136c55a96383497a772a307b346368133960b02ad03Eric Laurent
137c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files.
138c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \
139c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(MY_WEBRTC_COMMON_DEFS) \
140c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_APM_UNIT_TEST_FIXED_PROFILE'
141c55a96383497a772a307b346368133960b02ad03Eric Laurent
142792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
143792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
144792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
145792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
146792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
147792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
148792d5464151b0e5744e311ff79eca886e277807bYing Wang
149c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \
150c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/interface \
151c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../interface \
152c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../.. \
153056a3c3e341f44edcd220608666644a5a14071b0Ying Wang    $(LOCAL_PATH)/test \
154c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../system_wrappers/interface \
155c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../common_audio/signal_processing/include \
156c55a96383497a772a307b346368133960b02ad03Eric Laurent    external/gtest/include \
157c55a96383497a772a307b346368133960b02ad03Eric Laurent    external/protobuf/src
158c55a96383497a772a307b346368133960b02ad03Eric Laurent
159c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_STATIC_LIBRARIES := \
160c55a96383497a772a307b346368133960b02ad03Eric Laurent    libgtest \
161c55a96383497a772a307b346368133960b02ad03Eric Laurent    libprotobuf-cpp-2.3.0-lite
162c55a96383497a772a307b346368133960b02ad03Eric Laurent
1635d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX :=
1645d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifdef WEBRTC_STL
1655d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX := _$(WEBRTC_STL)
1665d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
1675d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak
168c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SHARED_LIBRARIES := \
1695d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak    libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX)
170c55a96383497a772a307b346368133960b02ad03Eric Laurent
171c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE:= webrtc_apm_unit_test
172c55a96383497a772a307b346368133960b02ad03Eric Laurent
1735d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL
174c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude external/stlport/libstlport.mk
1755d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
1765d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
1775d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14
1785d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
1795d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
180c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_NATIVE_TEST)
181