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 rms_level.cc \ 30 splitting_filter.cc \ 31 three_band_filter_bank.cc \ 32 processing_component.cc \ 33 voice_detection_impl.cc 34 35# Flags passed to both C and C++ files. 36LOCAL_CFLAGS := \ 37 $(MY_WEBRTC_COMMON_DEFS) \ 38 '-DWEBRTC_NS_FIXED' \ 39 '-DWEBRTC_ANDROID_PLATFORM_BUILD' \ 40 '-DWEBRTC_AUDIOPROC_DEBUG_DUMP' 41# floating point 42# -DWEBRTC_NS_FLOAT' 43 44LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 45LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 46LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 47LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 48LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 49LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 50 51LOCAL_CFLAGS += -Wno-unused-parameter 52 53LOCAL_C_INCLUDES := \ 54 $(LOCAL_PATH)/include \ 55 $(LOCAL_PATH)/aec/include \ 56 $(LOCAL_PATH)/aecm/include \ 57 $(LOCAL_PATH)/agc/include \ 58 $(LOCAL_PATH)/ns/include \ 59 $(LOCAL_PATH)/../interface \ 60 $(LOCAL_PATH)/../../.. \ 61 $(LOCAL_PATH)/../../common_audio/signal_processing/include \ 62 $(LOCAL_PATH)/../../common_audio/vad/include \ 63 $(LOCAL_PATH)/../../system_wrappers/include \ 64 external/protobuf/src 65 66ifdef WEBRTC_STL 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 test/test_utils.cc \ 84 test/protobuf_utils.cc \ 85 ../../common_audio/wav_file.cc \ 86 ../../common_audio/wav_header.cc \ 87 ../../system_wrappers/source/tick_util.cc \ 88 ../../test/testsupport/fileutils.cc \ 89 ../../test/testsupport/perf_test.cc \ 90 91# Flags passed to both C and C++ files. 92LOCAL_CFLAGS := \ 93 $(MY_WEBRTC_COMMON_DEFS) \ 94 '-DWEBRTC_ANDROID_PLATFORM_BUILD' \ 95 '-DWEBRTC_AUDIOPROC_DEBUG_DUMP' 96 97LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 98LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 99LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 100LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 101LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 102LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 103 104LOCAL_CFLAGS += -Wno-unused-parameter 105 106LOCAL_C_INCLUDES := \ 107 $(LOCAL_PATH)/include \ 108 $(LOCAL_PATH)/../interface \ 109 $(LOCAL_PATH)/../../.. \ 110 $(LOCAL_PATH)/../../system_wrappers/include \ 111 112MY_LIB_SUFFIX := 113ifdef WEBRTC_STL 114MY_LIB_SUFFIX := _$(WEBRTC_STL) 115endif 116 117LOCAL_SHARED_LIBRARIES := \ 118 libutils \ 119 libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX) \ 120 121LOCAL_MODULE:= webrtc_apm_process_test 122 123ifndef WEBRTC_STL 124LOCAL_SHARED_LIBRARIES += libprotobuf-cpp-lite 125else 126LOCAL_STATIC_LIBRARIES := \ 127 libprotobuf-cpp-lite-ndk 128LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 129LOCAL_SDK_VERSION := 14 130LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 131endif 132 133include $(BUILD_NATIVE_TEST) 134 135# apm unit test app 136 137include $(CLEAR_VARS) 138 139LOCAL_MODULE_TAGS := tests 140LOCAL_CPP_EXTENSION := .cc 141LOCAL_SRC_FILES:= \ 142 $(call all-proto-files-under, .) \ 143 test/audio_processing_unittest.cc \ 144 test/protobuf_utils.cc \ 145 test/test_utils.cc \ 146 ../../common_audio/resampler/push_resampler.cc \ 147 ../../test/testsupport/fileutils.cc 148 149LOCAL_C_INCLUDES := \ 150 $(LOCAL_PATH)/../../.. \ 151 152# Flags passed to both C and C++ files. 153LOCAL_CFLAGS := \ 154 $(MY_WEBRTC_COMMON_DEFS) \ 155 '-DWEBRTC_AUDIOPROC_FIXED_PROFILE' \ 156 '-DWEBRTC_ANDROID_PLATFORM_BUILD' \ 157 '-DWEBRTC_AUDIOPROC_DEBUG_DUMP' \ 158 159LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 160LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 161LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 162LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 163LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 164LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 165 166LOCAL_CFLAGS += -Wno-unused-parameter 167 168LOCAL_C_INCLUDES := \ 169 $(LOCAL_PATH)/include \ 170 $(LOCAL_PATH)/../interface \ 171 $(LOCAL_PATH)/../.. \ 172 $(LOCAL_PATH)/../../.. \ 173 $(LOCAL_PATH)/../../../test \ 174 $(LOCAL_PATH)/../../system_wrappers/include \ 175 $(LOCAL_PATH)/../../../webrtc/base \ 176 $(LOCAL_PATH)/../../common_audio/signal_processing/include \ 177 external/protobuf/src 178 179MY_LIB_SUFFIX := 180ifdef WEBRTC_STL 181MY_LIB_SUFFIX := _$(WEBRTC_STL) 182endif 183 184LOCAL_SHARED_LIBRARIES := \ 185 libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX) 186 187LOCAL_MODULE:= webrtc_apm_unit_test 188 189ifndef WEBRTC_STL 190LOCAL_SHARED_LIBRARIES += libprotobuf-cpp-lite 191else 192LOCAL_STATIC_LIBRARIES := \ 193 libprotobuf-cpp-lite 194LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 195LOCAL_SDK_VERSION := 14 196LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 197endif 198 199include $(BUILD_NATIVE_TEST) 200