1LOCAL_PATH:=$(call my-dir) 2 3rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable \ 4 -fno-exceptions -std=c++11 5ifeq ($(TARGET_BUILD_PDK), true) 6 rs_base_CFLAGS += -D__RS_PDK__ 7endif 8 9ifneq ($(OVERRIDE_RS_DRIVER),) 10 rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER) 11endif 12 13include $(CLEAR_VARS) 14ifneq ($(HOST_OS),windows) 15LOCAL_CLANG := true 16endif 17LOCAL_MODULE := libRSCpuRef 18LOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64 19 20LOCAL_SRC_FILES:= \ 21 rsCpuCore.cpp \ 22 rsCpuExecutable.cpp \ 23 rsCpuScript.cpp \ 24 rsCpuRuntimeMath.cpp \ 25 rsCpuRuntimeMathFuncs.cpp \ 26 rsCpuScriptGroup.cpp \ 27 rsCpuScriptGroup2.cpp \ 28 rsCpuIntrinsic.cpp \ 29 rsCpuIntrinsic3DLUT.cpp \ 30 rsCpuIntrinsicBLAS.cpp \ 31 rsCpuIntrinsicBlend.cpp \ 32 rsCpuIntrinsicBlur.cpp \ 33 rsCpuIntrinsicColorMatrix.cpp \ 34 rsCpuIntrinsicConvolve3x3.cpp \ 35 rsCpuIntrinsicConvolve5x5.cpp \ 36 rsCpuIntrinsicHistogram.cpp \ 37 rsCpuIntrinsicResize.cpp \ 38 rsCpuIntrinsicLUT.cpp \ 39 rsCpuIntrinsicYuvToRGB.cpp 40 41LOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS -DARCH_ARM64_HAVE_NEON 42 43ifeq ($(RS_DISABLE_A53_WORKAROUND),true) 44LOCAL_CFLAGS_arm64 += -DDISABLE_A53_WORKAROUND 45endif 46 47LOCAL_SRC_FILES_arm64 += \ 48 rsCpuIntrinsics_advsimd_3DLUT.S \ 49 rsCpuIntrinsics_advsimd_Convolve.S \ 50 rsCpuIntrinsics_advsimd_Blur.S \ 51 rsCpuIntrinsics_advsimd_ColorMatrix.S \ 52 rsCpuIntrinsics_advsimd_Resize.S \ 53 rsCpuIntrinsics_advsimd_YuvToRGB.S 54# rsCpuIntrinsics_advsimd_Blend.S \ 55 56# Clang does not compile rsCpuIntrinsics_advsimd_3DLUT.S. 57LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as 58 59ifeq ($(ARCH_ARM_HAVE_NEON),true) 60 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON 61endif 62 63ifeq ($(ARCH_ARM_HAVE_VFP),true) 64 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS 65 LOCAL_SRC_FILES_arm += \ 66 rsCpuIntrinsics_neon_3DLUT.S \ 67 rsCpuIntrinsics_neon_Blend.S \ 68 rsCpuIntrinsics_neon_Blur.S \ 69 rsCpuIntrinsics_neon_Convolve.S \ 70 rsCpuIntrinsics_neon_ColorMatrix.S \ 71 rsCpuIntrinsics_neon_Resize.S \ 72 rsCpuIntrinsics_neon_YuvToRGB.S \ 73 74 LOCAL_ASFLAGS_arm := -mfpu=neon 75 # Clang does not compile rsCpuIntrinsics_neon_3DLUT.S. 76 LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as 77endif 78 79ifeq ($(ARCH_X86_HAVE_SSSE3),true) 80 LOCAL_CFLAGS += -DARCH_X86_HAVE_SSSE3 81 LOCAL_SRC_FILES+= \ 82 rsCpuIntrinsics_x86.cpp 83endif 84 85LOCAL_SHARED_LIBRARIES += libRS libcutils libutils liblog libsync libc++ libdl libz 86 87LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libblas 88 89 90LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 91LOCAL_C_INCLUDES += frameworks/rs 92LOCAL_C_INCLUDES += external/cblas/include 93LOCAL_C_INCLUDES += external/zlib 94 95include frameworks/compile/libbcc/libbcc-targets.mk 96 97LOCAL_CFLAGS += $(rs_base_CFLAGS) 98 99LOCAL_MODULE_TAGS := optional 100 101include $(BUILD_SHARED_LIBRARY) 102