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 64b7831e07cb2da4fcb0de53efc2448e36e6a52139Dan Albertifdef WEBRTC_STL 655d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 665d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14 675d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 685d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif 695d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak 70c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_STATIC_LIBRARY) 71c55a96383497a772a307b346368133960b02ad03Eric Laurent 72c55a96383497a772a307b346368133960b02ad03Eric Laurent# apm process test app 73c55a96383497a772a307b346368133960b02ad03Eric Laurent 74c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS) 75c55a96383497a772a307b346368133960b02ad03Eric Laurent 76c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := tests 77c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CPP_EXTENSION := .cc 78c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES:= \ 79c55a96383497a772a307b346368133960b02ad03Eric Laurent $(call all-proto-files-under, .) \ 80c55a96383497a772a307b346368133960b02ad03Eric Laurent test/process_test.cc 81c55a96383497a772a307b346368133960b02ad03Eric Laurent 82c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files. 83c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \ 84c55a96383497a772a307b346368133960b02ad03Eric Laurent $(MY_WEBRTC_COMMON_DEFS) 85c55a96383497a772a307b346368133960b02ad03Eric Laurent 86792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 87792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 88792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 89792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 90792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 91792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 92792d5464151b0e5744e311ff79eca886e277807bYing Wang 93c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \ 94c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/interface \ 95c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../interface \ 96c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../.. \ 97c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../../system_wrappers/interface \ 98c55a96383497a772a307b346368133960b02ad03Eric Laurent 995d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX := 1005d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifdef WEBRTC_STL 1015d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX := _$(WEBRTC_STL) 1025d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif 1035d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak 104c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SHARED_LIBRARIES := \ 105c55a96383497a772a307b346368133960b02ad03Eric Laurent libutils \ 1065d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX) 107c55a96383497a772a307b346368133960b02ad03Eric Laurent 108c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE:= webrtc_apm_process_test 109c55a96383497a772a307b346368133960b02ad03Eric Laurent 1105d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL 111b7831e07cb2da4fcb0de53efc2448e36e6a52139Dan AlbertLOCAL_SHARED_LIBRARIES += libprotobuf-cpp-lite 1125d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse 113b7831e07cb2da4fcb0de53efc2448e36e6a52139Dan AlbertLOCAL_STATIC_LIBRARIES := \ 1149a2fe4201115acb977c9b987b78f5a03cbae1a67Jeff Davidson libprotobuf-cpp-lite 1155d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 1165d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14 1175d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 1185d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif 119c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_NATIVE_TEST) 120c55a96383497a772a307b346368133960b02ad03Eric Laurent 121c55a96383497a772a307b346368133960b02ad03Eric Laurent# apm unit test app 122c55a96383497a772a307b346368133960b02ad03Eric Laurent 123c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS) 124c55a96383497a772a307b346368133960b02ad03Eric Laurent 125c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := tests 126c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CPP_EXTENSION := .cc 127c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES:= \ 128c55a96383497a772a307b346368133960b02ad03Eric Laurent $(call all-proto-files-under, test) \ 129c55a96383497a772a307b346368133960b02ad03Eric Laurent test/unit_test.cc \ 130056a3c3e341f44edcd220608666644a5a14071b0Ying Wang test/testsupport/fileutils.cc 131c55a96383497a772a307b346368133960b02ad03Eric Laurent 132c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files. 133c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \ 134c55a96383497a772a307b346368133960b02ad03Eric Laurent $(MY_WEBRTC_COMMON_DEFS) \ 135c55a96383497a772a307b346368133960b02ad03Eric Laurent '-DWEBRTC_APM_UNIT_TEST_FIXED_PROFILE' 136c55a96383497a772a307b346368133960b02ad03Eric Laurent 137792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 138792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 139792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 140792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 141792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 142792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 143792d5464151b0e5744e311ff79eca886e277807bYing Wang 144c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \ 145c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/interface \ 146c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../interface \ 147c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../.. \ 148056a3c3e341f44edcd220608666644a5a14071b0Ying Wang $(LOCAL_PATH)/test \ 149c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../../system_wrappers/interface \ 150c55a96383497a772a307b346368133960b02ad03Eric Laurent $(LOCAL_PATH)/../../common_audio/signal_processing/include \ 151c55a96383497a772a307b346368133960b02ad03Eric Laurent external/protobuf/src 152c55a96383497a772a307b346368133960b02ad03Eric Laurent 1535d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX := 1545d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifdef WEBRTC_STL 1555d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakMY_LIB_SUFFIX := _$(WEBRTC_STL) 1565d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif 1575d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak 158c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SHARED_LIBRARIES := \ 1595d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX) 160c55a96383497a772a307b346368133960b02ad03Eric Laurent 161c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE:= webrtc_apm_unit_test 162c55a96383497a772a307b346368133960b02ad03Eric Laurent 1635d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL 164b7831e07cb2da4fcb0de53efc2448e36e6a52139Dan AlbertLOCAL_SHARED_LIBRARIES += libprotobuf-cpp-lite 1655d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse 166b7831e07cb2da4fcb0de53efc2448e36e6a52139Dan AlbertLOCAL_STATIC_LIBRARIES := \ 1679a2fe4201115acb977c9b987b78f5a03cbae1a67Jeff Davidson libprotobuf-cpp-lite 1685d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 1695d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14 1705d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 1715d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif 172c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_NATIVE_TEST) 173