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_C_INCLUDES := \
41    $(LOCAL_PATH)/interface \
42    $(LOCAL_PATH)/aec/interface \
43    $(LOCAL_PATH)/aecm/interface \
44    $(LOCAL_PATH)/agc/interface \
45    $(LOCAL_PATH)/ns/interface \
46    $(LOCAL_PATH)/../interface \
47    $(LOCAL_PATH)/../.. \
48    $(LOCAL_PATH)/../../common_audio/signal_processing/include \
49    $(LOCAL_PATH)/../../common_audio/vad/include \
50    $(LOCAL_PATH)/../../system_wrappers/interface \
51    external/protobuf/src
52
53LOCAL_SHARED_LIBRARIES := \
54    libcutils \
55    libdl \
56    libstlport
57
58ifndef NDK_ROOT
59include external/stlport/libstlport.mk
60endif
61include $(BUILD_STATIC_LIBRARY)
62
63# apm process test app
64
65include $(CLEAR_VARS)
66
67LOCAL_MODULE_TAGS := tests
68LOCAL_CPP_EXTENSION := .cc
69LOCAL_SRC_FILES:= \
70    $(call all-proto-files-under, .) \
71    test/process_test.cc
72
73# Flags passed to both C and C++ files.
74LOCAL_CFLAGS := \
75    $(MY_WEBRTC_COMMON_DEFS)
76
77LOCAL_C_INCLUDES := \
78    $(LOCAL_PATH)/interface \
79    $(LOCAL_PATH)/../interface \
80    $(LOCAL_PATH)/../.. \
81    $(LOCAL_PATH)/../../system_wrappers/interface \
82    external/gtest/include
83
84LOCAL_STATIC_LIBRARIES := \
85    libgtest \
86    libprotobuf-cpp-2.3.0-lite
87
88LOCAL_SHARED_LIBRARIES := \
89    libutils \
90    libstlport \
91    libwebrtc_audio_preprocessing
92
93LOCAL_MODULE:= webrtc_apm_process_test
94
95ifdef NDK_ROOT
96include $(BUILD_EXECUTABLE)
97else
98include external/stlport/libstlport.mk
99include $(BUILD_NATIVE_TEST)
100endif
101
102# apm unit test app
103
104include $(CLEAR_VARS)
105
106LOCAL_MODULE_TAGS := tests
107LOCAL_CPP_EXTENSION := .cc
108LOCAL_SRC_FILES:= \
109    $(call all-proto-files-under, test) \
110    test/unit_test.cc \
111    ../../../test/testsupport/fileutils.cc
112
113# Flags passed to both C and C++ files.
114LOCAL_CFLAGS := \
115    $(MY_WEBRTC_COMMON_DEFS) \
116    '-DWEBRTC_APM_UNIT_TEST_FIXED_PROFILE'
117
118LOCAL_C_INCLUDES := \
119    $(LOCAL_PATH)/interface \
120    $(LOCAL_PATH)/../interface \
121    $(LOCAL_PATH)/../.. \
122    $(LOCAL_PATH)/../../../test \
123    $(LOCAL_PATH)/../../system_wrappers/interface \
124    $(LOCAL_PATH)/../../common_audio/signal_processing/include \
125    external/gtest/include \
126    external/protobuf/src
127
128LOCAL_STATIC_LIBRARIES := \
129    libgtest \
130    libprotobuf-cpp-2.3.0-lite
131
132LOCAL_SHARED_LIBRARIES := \
133    libstlport \
134    libwebrtc_audio_preprocessing
135
136LOCAL_MODULE:= webrtc_apm_unit_test
137
138ifdef NDK_ROOT
139include $(BUILD_EXECUTABLE)
140else
141include external/stlport/libstlport.mk
142include $(BUILD_NATIVE_TEST)
143endif
144