Android.mk revision 9fb5517a05f10f029c7a716b6cd3fd3ee60cb3bd
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 Laurent#############################
10c55a96383497a772a307b346368133960b02ad03Eric Laurent# Build the non-neon library.
11c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_PATH := $(call my-dir)
12c55a96383497a772a307b346368133960b02ad03Eric Laurent
13c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS)
14c55a96383497a772a307b346368133960b02ad03Eric Laurent
15c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(LOCAL_PATH)/../../../../android-webrtc.mk
16c55a96383497a772a307b346368133960b02ad03Eric Laurent
17c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_CLASS := STATIC_LIBRARIES
18c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE := libwebrtc_ns
19c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := optional
20c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_GENERATED_SOURCES :=
21c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES := \
22c55a96383497a772a307b346368133960b02ad03Eric Laurent    noise_suppression_x.c \
23c55a96383497a772a307b346368133960b02ad03Eric Laurent    nsx_core.c
24c55a96383497a772a307b346368133960b02ad03Eric Laurent
25c55a96383497a772a307b346368133960b02ad03Eric Laurent# Files for floating point.
265d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak# noise_suppression.c ns_core.c
27c55a96383497a772a307b346368133960b02ad03Eric Laurent
28c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files.
29c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS)
30c55a96383497a772a307b346368133960b02ad03Eric Laurent
31792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
32792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
33792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
34792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
35792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
36792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
37792d5464151b0e5744e311ff79eca886e277807bYing Wang
38c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \
39c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/interface \
40c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../utility \
41c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../.. \
42c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../../common_audio/signal_processing/include \
43c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../../system_wrappers/interface
44c55a96383497a772a307b346368133960b02ad03Eric Laurent
45c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers
46c55a96383497a772a307b346368133960b02ad03Eric Laurent
47c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SHARED_LIBRARIES := \
48c55a96383497a772a307b346368133960b02ad03Eric Laurent    libcutils \
495d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak    libdl
50c55a96383497a772a307b346368133960b02ad03Eric Laurent
51c55a96383497a772a307b346368133960b02ad03Eric Laurentifndef NDK_ROOT
525d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL
535d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SHARED_LIBRARIES += libstlport
54c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude external/stlport/libstlport.mk
555d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
565d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
575d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14
585d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
59c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
605d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
615d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SHARED_LIBRARIES += libstlport
625d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
635d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak
64c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_STATIC_LIBRARY)
65c55a96383497a772a307b346368133960b02ad03Eric Laurent
66c55a96383497a772a307b346368133960b02ad03Eric Laurent#############################
67c55a96383497a772a307b346368133960b02ad03Eric Laurent# Build the neon library.
68c55a96383497a772a307b346368133960b02ad03Eric Laurentifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
69c55a96383497a772a307b346368133960b02ad03Eric Laurent
70c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(CLEAR_VARS)
71c55a96383497a772a307b346368133960b02ad03Eric Laurent
72c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_ARM_MODE := arm
73c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_CLASS := STATIC_LIBRARIES
74c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE := libwebrtc_ns_neon
75c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_MODULE_TAGS := optional
76c55a96383497a772a307b346368133960b02ad03Eric Laurent
77c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_SRC_FILES := nsx_core_neon.c
78c55a96383497a772a307b346368133960b02ad03Eric Laurent
79c55a96383497a772a307b346368133960b02ad03Eric Laurent# Flags passed to both C and C++ files.
80c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_CFLAGS := \
81c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(MY_WEBRTC_COMMON_DEFS) \
82c55a96383497a772a307b346368133960b02ad03Eric Laurent    -mfpu=neon \
83c55a96383497a772a307b346368133960b02ad03Eric Laurent    -mfloat-abi=softfp \
84c55a96383497a772a307b346368133960b02ad03Eric Laurent    -flax-vector-conversions
85c55a96383497a772a307b346368133960b02ad03Eric Laurent
869fb5517a05f10f029c7a716b6cd3fd3ee60cb3bdYing WangLOCAL_MODULE_TARGET_ARCH := arm
87792d5464151b0e5744e311ff79eca886e277807bYing WangLOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
88792d5464151b0e5744e311ff79eca886e277807bYing Wang
89c55a96383497a772a307b346368133960b02ad03Eric LaurentLOCAL_C_INCLUDES := \
90c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/interface \
91c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../.. \
92c55a96383497a772a307b346368133960b02ad03Eric Laurent    $(LOCAL_PATH)/../../../common_audio/signal_processing/include
93c55a96383497a772a307b346368133960b02ad03Eric Laurent
94c55a96383497a772a307b346368133960b02ad03Eric Laurentifndef NDK_ROOT
955d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakifndef WEBRTC_STL
965d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SHARED_LIBRARIES += libstlport
97c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude external/stlport/libstlport.mk
985d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
995d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
1005d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SDK_VERSION := 14
1015d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
102c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
1035d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakelse
1045d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw SzczepaniakLOCAL_SHARED_LIBRARIES += libstlport
1055d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniakendif
1065d8e19eb3b3c4b541df50f8eddd6198b4be992a4Przemyslaw Szczepaniak
107c55a96383497a772a307b346368133960b02ad03Eric Laurentinclude $(BUILD_STATIC_LIBRARY)
108c55a96383497a772a307b346368133960b02ad03Eric Laurentendif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
109