Home | History | Annotate | Download | only in audio_processing
      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