1 2 LOCAL_PATH:=frameworks/rs 3 rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable \ 4 -Wno-overloaded-virtual -DRS_COMPATIBILITY_LIB 5 6 ifeq ($(ARCH_ARM_HAVE_NEON),true) 7 rs_base_CFLAGS += -DARCH_ARM_HAVE_NEON 8 endif 9 10 ifeq ($(TARGET_BUILD_PDK), true) 11 rs_base_CFLAGS += -D__RS_PDK__ 12 endif 13 14 # Build rsg-generator ==================== 15 include $(CLEAR_VARS) 16 17 LOCAL_MODULE := rsg-generator_support 18 19 # These symbols are normally defined by BUILD_XXX, but we need to define them 20 # here so that local-intermediates-dir works. 21 22 LOCAL_IS_HOST_MODULE := true 23 LOCAL_MODULE_CLASS := EXECUTABLES 24 intermediates := $(local-intermediates-dir) 25 LOCAL_MODULE_TAGS := optional 26 27 LOCAL_SRC_FILES:= \ 28 spec.l \ 29 rsg_generator.c 30 31 include $(BUILD_HOST_EXECUTABLE) 32 33 # TODO: This should go into build/core/config.mk 34 RSG_GENERATOR_SUPPORT:=$(LOCAL_BUILT_MODULE) 35 36 include $(CLEAR_VARS) 37 LOCAL_CLANG := true 38 LOCAL_MODULE := libRSSupport 39 LOCAL_SDK_VERSION := 8 40 41 LOCAL_MODULE_CLASS := SHARED_LIBRARIES 42 intermediates:= $(local-intermediates-dir) 43 44 # Generate custom headers 45 46 GEN := $(addprefix $(intermediates)/, \ 47 rsgApiStructs.h \ 48 rsgApiFuncDecl.h \ 49 ) 50 51 $(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 52 $(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR_SUPPORT) $< $@ <$(PRIVATE_PATH)/rs.spec 53 $(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec 54 $(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 55 $(transform-generated-source) 56 57 # used in jni/Android.mk 58 rs_generated_source += $(GEN) 59 LOCAL_GENERATED_SOURCES += $(GEN) 60 61 # Generate custom source files 62 63 GEN := $(addprefix $(intermediates)/, \ 64 rsgApi.cpp \ 65 rsgApiReplay.cpp \ 66 ) 67 68 $(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 69 $(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR_SUPPORT) $< $@ <$(PRIVATE_PATH)/rs.spec 70 $(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec 71 $(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 72 $(transform-generated-source) 73 74 # used in jni/Android.mk 75 rs_generated_source += $(GEN) 76 77 LOCAL_GENERATED_SOURCES += $(GEN) 78 79 LOCAL_SRC_FILES:= \ 80 rsAdapter.cpp \ 81 rsAllocation.cpp \ 82 rsCompatibilityLib.cpp \ 83 rsComponent.cpp \ 84 rsContext.cpp \ 85 rsCppUtils.cpp \ 86 rsDevice.cpp \ 87 rsElement.cpp \ 88 rsFifoSocket.cpp \ 89 rsObjectBase.cpp \ 90 rsMatrix2x2.cpp \ 91 rsMatrix3x3.cpp \ 92 rsMatrix4x4.cpp \ 93 rsMutex.cpp \ 94 rsSampler.cpp \ 95 rsScript.cpp \ 96 rsScriptC.cpp \ 97 rsScriptC_Lib.cpp \ 98 rsScriptGroup.cpp \ 99 rsScriptIntrinsic.cpp \ 100 rsSignal.cpp \ 101 rsStream.cpp \ 102 rsThreadIO.cpp \ 103 rsType.cpp \ 104 driver/rsdAllocation.cpp \ 105 driver/rsdBcc.cpp \ 106 driver/rsdCore.cpp \ 107 driver/rsdRuntimeStubs.cpp \ 108 driver/rsdSampler.cpp \ 109 driver/rsdScriptGroup.cpp \ 110 cpu_ref/rsCpuCore.cpp \ 111 cpu_ref/rsCpuScript.cpp \ 112 cpu_ref/rsCpuRuntimeMath.cpp \ 113 cpu_ref/rsCpuRuntimeStubs.cpp \ 114 cpu_ref/rsCpuScriptGroup.cpp \ 115 cpu_ref/rsCpuIntrinsic.cpp \ 116 cpu_ref/rsCpuIntrinsic3DLUT.cpp \ 117 cpu_ref/rsCpuIntrinsicBlend.cpp \ 118 cpu_ref/rsCpuIntrinsicBlur.cpp \ 119 cpu_ref/rsCpuIntrinsicColorMatrix.cpp \ 120 cpu_ref/rsCpuIntrinsicConvolve3x3.cpp \ 121 cpu_ref/rsCpuIntrinsicConvolve5x5.cpp \ 122 cpu_ref/rsCpuIntrinsicHistogram.cpp \ 123 cpu_ref/rsCpuIntrinsicLUT.cpp \ 124 cpu_ref/rsCpuIntrinsicYuvToRGB.cpp \ 125 cpu_ref/rsCpuRuntimeMathFuncs.cpp 126 127 ifeq ($(ARCH_ARM_HAVE_ARMV7A),true) 128 LOCAL_CFLAGS += -DARCH_ARM_HAVE_VFP 129 LOCAL_ASFLAGS := -mfpu=neon 130 LOCAL_SRC_FILES += \ 131 cpu_ref/rsCpuIntrinsics_neon.S \ 132 cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S 133 endif 134 135 LOCAL_LDFLAGS += -llog -ldl 136 LOCAL_NDK_STL_VARIANT := stlport_static 137 138 LOCAL_C_INCLUDES += external/clang/lib/Headers 139 LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 140 141 142 LOCAL_CFLAGS += $(rs_base_CFLAGS) 143 144 LOCAL_LDLIBS := -lpthread -ldl -lm 145 LOCAL_MODULE:= libRSSupport 146 LOCAL_MODULE_TAGS := optional 147 148 include $(BUILD_SHARED_LIBRARY) 149