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 9 LOCAL_PATH := $(call my-dir) 10 11 include $(CLEAR_VARS) 12 13 include $(LOCAL_PATH)/../../../android-webrtc.mk 14 15 LOCAL_ARM_MODE := arm 16 LOCAL_MODULE := libwebrtc_apm 17 LOCAL_MODULE_TAGS := optional 18 LOCAL_CPP_EXTENSION := .cc 19 LOCAL_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. 36 LOCAL_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 44 LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 45 LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 46 LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 47 LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 48 LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 49 LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 50 51 LOCAL_C_INCLUDES := \ 52 $(LOCAL_PATH)/include \ 53 $(LOCAL_PATH)/aec/include \ 54 $(LOCAL_PATH)/aecm/include \ 55 $(LOCAL_PATH)/agc/include \ 56 $(LOCAL_PATH)/ns/include \ 57 $(LOCAL_PATH)/../interface \ 58 $(LOCAL_PATH)/../../.. \ 59 $(LOCAL_PATH)/../../common_audio/signal_processing/include \ 60 $(LOCAL_PATH)/../../common_audio/vad/include \ 61 $(LOCAL_PATH)/../../system_wrappers/include \ 62 external/protobuf/src 63 64 ifdef WEBRTC_STL 65 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 66 LOCAL_SDK_VERSION := 14 67 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 68 endif 69 70 include $(BUILD_STATIC_LIBRARY) 71 72 # apm process test app 73 74 include $(CLEAR_VARS) 75 76 LOCAL_MODULE_TAGS := tests 77 LOCAL_CPP_EXTENSION := .cc 78 LOCAL_SRC_FILES:= \ 79 $(call all-proto-files-under, .) \ 80 test/process_test.cc \ 81 test/test_utils.cc \ 82 test/protobuf_utils.cc \ 83 ../../common_audio/wav_file.cc \ 84 ../../common_audio/wav_header.cc \ 85 ../../system_wrappers/source/tick_util.cc \ 86 ../../test/testsupport/fileutils.cc \ 87 ../../test/testsupport/perf_test.cc \ 88 89 # Flags passed to both C and C++ files. 90 LOCAL_CFLAGS := \ 91 $(MY_WEBRTC_COMMON_DEFS) \ 92 '-DWEBRTC_ANDROID_PLATFORM_BUILD' \ 93 '-DWEBRTC_AUDIOPROC_DEBUG_DUMP' 94 95 LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 96 LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 97 LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 98 LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 99 LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 100 LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 101 102 LOCAL_C_INCLUDES := \ 103 $(LOCAL_PATH)/include \ 104 $(LOCAL_PATH)/../interface \ 105 $(LOCAL_PATH)/../../.. \ 106 $(LOCAL_PATH)/../../system_wrappers/include \ 107 108 MY_LIB_SUFFIX := 109 ifdef WEBRTC_STL 110 MY_LIB_SUFFIX := _$(WEBRTC_STL) 111 endif 112 113 LOCAL_SHARED_LIBRARIES := \ 114 libutils \ 115 libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX) \ 116 117 LOCAL_MODULE:= webrtc_apm_process_test 118 119 ifndef WEBRTC_STL 120 LOCAL_SHARED_LIBRARIES += libprotobuf-cpp-lite 121 else 122 LOCAL_STATIC_LIBRARIES := \ 123 libprotobuf-cpp-lite-ndk 124 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 125 LOCAL_SDK_VERSION := 14 126 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 127 endif 128 129 include $(BUILD_NATIVE_TEST) 130 131 # apm unit test app 132 133 include $(CLEAR_VARS) 134 135 LOCAL_MODULE_TAGS := tests 136 LOCAL_CPP_EXTENSION := .cc 137 LOCAL_SRC_FILES:= \ 138 $(call all-proto-files-under, .) \ 139 test/audio_processing_unittest.cc \ 140 test/protobuf_utils.cc \ 141 test/test_utils.cc \ 142 ../../common_audio/resampler/push_resampler.cc \ 143 ../../test/testsupport/fileutils.cc 144 145 LOCAL_C_INCLUDES := \ 146 $(LOCAL_PATH)/../../.. \ 147 148 # Flags passed to both C and C++ files. 149 LOCAL_CFLAGS := \ 150 $(MY_WEBRTC_COMMON_DEFS) \ 151 '-DWEBRTC_AUDIOPROC_FIXED_PROFILE' \ 152 '-DWEBRTC_ANDROID_PLATFORM_BUILD' \ 153 '-DWEBRTC_AUDIOPROC_DEBUG_DUMP' \ 154 155 LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm) 156 LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86) 157 LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips) 158 LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64) 159 LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64) 160 LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64) 161 162 LOCAL_C_INCLUDES := \ 163 $(LOCAL_PATH)/include \ 164 $(LOCAL_PATH)/../interface \ 165 $(LOCAL_PATH)/../.. \ 166 $(LOCAL_PATH)/../../.. \ 167 $(LOCAL_PATH)/../../../test \ 168 $(LOCAL_PATH)/../../system_wrappers/include \ 169 $(LOCAL_PATH)/../../../webrtc/base \ 170 $(LOCAL_PATH)/../../common_audio/signal_processing/include \ 171 external/protobuf/src 172 173 MY_LIB_SUFFIX := 174 ifdef WEBRTC_STL 175 MY_LIB_SUFFIX := _$(WEBRTC_STL) 176 endif 177 178 LOCAL_SHARED_LIBRARIES := \ 179 libwebrtc_audio_preprocessing$(MY_LIB_SUFFIX) 180 181 LOCAL_MODULE:= webrtc_apm_unit_test 182 183 ifndef WEBRTC_STL 184 LOCAL_SHARED_LIBRARIES += libprotobuf-cpp-lite 185 else 186 LOCAL_STATIC_LIBRARIES := \ 187 libprotobuf-cpp-lite 188 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL) 189 LOCAL_SDK_VERSION := 14 190 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL) 191 endif 192 193 include $(BUILD_NATIVE_TEST) 194