Home | History | Annotate | Download | only in ns
      1 # Copyright (c) 2012 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.
     11 LOCAL_PATH := $(call my-dir)
     12 
     13 include $(CLEAR_VARS)
     14 
     15 include $(LOCAL_PATH)/../../../../android-webrtc.mk
     16 
     17 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
     18 LOCAL_MODULE := libwebrtc_ns
     19 LOCAL_MODULE_TAGS := optional
     20 LOCAL_GENERATED_SOURCES :=
     21 LOCAL_SRC_FILES := \
     22     noise_suppression_x.c \
     23     nsx_core.c \
     24     nsx_core_c.c \
     25 
     26 # TODO: nsx_core.S, nsx_core_mips.c
     27 
     28 # Files for floating point.
     29 # noise_suppression.c ns_core.c
     30 
     31 # Flags passed to both C and C++ files.
     32 LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS)
     33 
     34 LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
     35 LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
     36 LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
     37 LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
     38 LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
     39 LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
     40 
     41 LOCAL_CFLAGS += -Wno-unused-parameter
     42 
     43 LOCAL_C_INCLUDES := \
     44     $(LOCAL_PATH)/include \
     45     $(LOCAL_PATH)/../utility \
     46     $(LOCAL_PATH)/../../../.. \
     47     $(LOCAL_PATH)/../../../common_audio/signal_processing/include \
     48     $(LOCAL_PATH)/../../../system_wrappers/interface
     49 
     50 LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers
     51 
     52 ifdef WEBRTC_STL
     53 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
     54 LOCAL_SDK_VERSION := 14
     55 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
     56 endif
     57 
     58 include $(BUILD_STATIC_LIBRARY)
     59 
     60 #############################
     61 # Build the neon library.
     62 ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
     63 
     64 include $(CLEAR_VARS)
     65 
     66 LOCAL_ARM_MODE := arm
     67 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
     68 LOCAL_MODULE := libwebrtc_ns_neon
     69 LOCAL_MODULE_TAGS := optional
     70 
     71 ifeq ($(TARGET_ARCH), arm64)
     72 # new nsx_core_neon.S does not compile with clang or gas.
     73 LOCAL_SRC_FILES := nsx_core_neon.c
     74 
     75 else
     76 GEN := $(LOCAL_PATH)/nsx_core_neon_offsets.h
     77 
     78 # Generate a header file nsx_core_neon_offsets.h which will be included in
     79 # assembly file nsx_core_neon.S, from file nsx_core_neon_offsets.c.
     80 $(GEN): $(LOCAL_PATH)/../../../../webrtc/build/generate_asm_header.py \
     81             $(intermediates)/nsx_core_neon_offsets.S
     82 	@python $^ $@ offset_nsx_
     83 
     84 $(intermediates)/nsx_core_neon_offsets.S: $(LOCAL_PATH)/nsx_core_neon_offsets.c
     85 	@$(TARGET_CC) $(addprefix -I, $(LOCAL_INCLUDES)) $(addprefix -isystem ,\
     86             $(TARGET_C_INCLUDES)) -S -o $@ $^
     87 
     88 LOCAL_GENERATED_SOURCES := $(GEN)
     89 LOCAL_SRC_FILES := nsx_core_neon.S
     90 endif
     91 
     92 # Flags passed to both C and C++ files.
     93 LOCAL_CFLAGS := \
     94     $(MY_WEBRTC_COMMON_DEFS) \
     95     -flax-vector-conversions
     96 
     97 LOCAL_MODULE_TARGET_ARCH := arm
     98 LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
     99 
    100 LOCAL_C_INCLUDES := \
    101     $(LOCAL_PATH)/include \
    102     $(LOCAL_PATH)/../../.. \
    103     $(LOCAL_PATH)/../../../common_audio/signal_processing/include
    104 
    105 LOCAL_INCLUDES := $(LOCAL_C_INCLUDES)
    106 
    107 ifdef WEBRTC_STL
    108 LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
    109 LOCAL_SDK_VERSION := 14
    110 LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
    111 endif
    112 
    113 include $(BUILD_STATIC_LIBRARY)
    114 endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
    115