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#############################
10# Build the non-neon library.
11LOCAL_PATH := $(call my-dir)
12
13include $(CLEAR_VARS)
14
15include $(LOCAL_PATH)/../../../../android-webrtc.mk
16
17LOCAL_MODULE_CLASS := STATIC_LIBRARIES
18LOCAL_MODULE := libwebrtc_ns
19LOCAL_MODULE_TAGS := optional
20LOCAL_GENERATED_SOURCES :=
21LOCAL_SRC_FILES := \
22    noise_suppression_x.c \
23    nsx_core.c
24
25# Files for floating point.
26# noise_suppression.c ns_core.c
27
28# Flags passed to both C and C++ files.
29LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS)
30
31LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
32LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
33LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
34LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
35LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
36LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
37
38LOCAL_C_INCLUDES := \
39    $(LOCAL_PATH)/interface \
40    $(LOCAL_PATH)/../utility \
41    $(LOCAL_PATH)/../../.. \
42    $(LOCAL_PATH)/../../../common_audio/signal_processing/include \
43    $(LOCAL_PATH)/../../../system_wrappers/interface
44
45LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers
46
47LOCAL_SHARED_LIBRARIES := \
48    libcutils \
49    libdl
50
51ifdef WEBRTC_STL
52LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
53LOCAL_SDK_VERSION := 14
54LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
55endif
56
57include $(BUILD_STATIC_LIBRARY)
58
59#############################
60# Build the neon library.
61ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
62
63include $(CLEAR_VARS)
64
65LOCAL_ARM_MODE := arm
66LOCAL_MODULE_CLASS := STATIC_LIBRARIES
67LOCAL_MODULE := libwebrtc_ns_neon
68LOCAL_MODULE_TAGS := optional
69
70LOCAL_SRC_FILES := nsx_core_neon.c
71
72# Flags passed to both C and C++ files.
73LOCAL_CFLAGS := \
74    $(MY_WEBRTC_COMMON_DEFS) \
75    -mfpu=neon \
76    -mfloat-abi=softfp \
77    -flax-vector-conversions
78
79LOCAL_MODULE_TARGET_ARCH := arm
80LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
81
82LOCAL_C_INCLUDES := \
83    $(LOCAL_PATH)/interface \
84    $(LOCAL_PATH)/../../.. \
85    $(LOCAL_PATH)/../../../common_audio/signal_processing/include
86
87ifdef WEBRTC_STL
88LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
89LOCAL_SDK_VERSION := 14
90LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
91endif
92
93include $(BUILD_STATIC_LIBRARY)
94endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
95