Android.mk revision 91dfcdb0f9d5402c26dd65d26d1163f05c2f1e50
1 2LOCAL_PATH:=$(call my-dir) 3 4rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable 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) 14LOCAL_CLANG := true 15LOCAL_MODULE := libRSDriver 16 17LOCAL_SRC_FILES:= \ 18 driver/rsdAllocation.cpp \ 19 driver/rsdBcc.cpp \ 20 driver/rsdCore.cpp \ 21 driver/rsdFrameBuffer.cpp \ 22 driver/rsdFrameBufferObj.cpp \ 23 driver/rsdGL.cpp \ 24 driver/rsdIntrinsics.cpp \ 25 driver/rsdIntrinsicConvolve3x3.cpp \ 26 driver/rsdIntrinsicColorMatrix.cpp \ 27 driver/rsdMesh.cpp \ 28 driver/rsdMeshObj.cpp \ 29 driver/rsdPath.cpp \ 30 driver/rsdProgram.cpp \ 31 driver/rsdProgramRaster.cpp \ 32 driver/rsdProgramStore.cpp \ 33 driver/rsdRuntimeMath.cpp \ 34 driver/rsdRuntimeStubs.cpp \ 35 driver/rsdSampler.cpp \ 36 driver/rsdShader.cpp \ 37 driver/rsdShaderCache.cpp \ 38 driver/rsdVertexArray.cpp 39 40ifeq ($(ARCH_ARM_HAVE_NEON),true) 41 LOCAL_CFLAGS += -DARCH_ARM_HAVE_NEON 42 LOCAL_SRC_FILES+= \ 43 driver/rsdIntrinsics_Convolve.S 44endif 45 46LOCAL_SHARED_LIBRARIES += libRS 47LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 48LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libui libgui libsync 49 50LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 51 52LOCAL_CFLAGS += $(rs_base_CFLAGS) 53 54LOCAL_LDLIBS := -lpthread -ldl 55LOCAL_MODULE_TAGS := optional 56 57include $(BUILD_SHARED_LIBRARY) 58 59# Build rsg-generator ==================== 60include $(CLEAR_VARS) 61 62LOCAL_MODULE := rsg-generator 63 64# These symbols are normally defined by BUILD_XXX, but we need to define them 65# here so that local-intermediates-dir works. 66 67LOCAL_IS_HOST_MODULE := true 68LOCAL_MODULE_CLASS := EXECUTABLES 69intermediates := $(local-intermediates-dir) 70 71LOCAL_SRC_FILES:= \ 72 spec.l \ 73 rsg_generator.c 74 75include $(BUILD_HOST_EXECUTABLE) 76 77# TODO: This should go into build/core/config.mk 78RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) 79 80include $(CLEAR_VARS) 81LOCAL_CLANG := true 82LOCAL_MODULE := libRS 83 84LOCAL_MODULE_CLASS := SHARED_LIBRARIES 85intermediates:= $(local-intermediates-dir) 86 87# We depend directly on doing dlopen(libRSDriver.so). 88LOCAL_REQUIRED_MODULES := libRSDriver 89 90# Generate custom headers 91 92GEN := $(addprefix $(intermediates)/, \ 93 rsgApiStructs.h \ 94 rsgApiFuncDecl.h \ 95 ) 96 97$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 98$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 99$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 100$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 101 $(transform-generated-source) 102 103# used in jni/Android.mk 104rs_generated_source += $(GEN) 105LOCAL_GENERATED_SOURCES += $(GEN) 106 107# Generate custom source files 108 109GEN := $(addprefix $(intermediates)/, \ 110 rsgApi.cpp \ 111 rsgApiReplay.cpp \ 112 ) 113 114$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 115$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 116$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 117$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 118 $(transform-generated-source) 119 120# used in jni/Android.mk 121rs_generated_source += $(GEN) 122 123LOCAL_GENERATED_SOURCES += $(GEN) 124 125LOCAL_SRC_FILES:= \ 126 rsAdapter.cpp \ 127 rsAllocation.cpp \ 128 rsAnimation.cpp \ 129 rsComponent.cpp \ 130 rsContext.cpp \ 131 rsDevice.cpp \ 132 rsElement.cpp \ 133 rsFBOCache.cpp \ 134 rsFifoSocket.cpp \ 135 rsFileA3D.cpp \ 136 rsFont.cpp \ 137 rsObjectBase.cpp \ 138 rsMatrix2x2.cpp \ 139 rsMatrix3x3.cpp \ 140 rsMatrix4x4.cpp \ 141 rsMesh.cpp \ 142 rsMutex.cpp \ 143 rsPath.cpp \ 144 rsProgram.cpp \ 145 rsProgramFragment.cpp \ 146 rsProgramStore.cpp \ 147 rsProgramRaster.cpp \ 148 rsProgramVertex.cpp \ 149 rsSampler.cpp \ 150 rsScript.cpp \ 151 rsScriptC.cpp \ 152 rsScriptC_Lib.cpp \ 153 rsScriptC_LibGL.cpp \ 154 rsScriptIntrinsic.cpp \ 155 rsSignal.cpp \ 156 rsStream.cpp \ 157 rsThreadIO.cpp \ 158 rsType.cpp 159 160LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libbcc 161LOCAL_SHARED_LIBRARIES += libui libbcinfo libgui libsync libdl 162 163LOCAL_STATIC_LIBRARIES := libft2 164 165LOCAL_C_INCLUDES += external/freetype/include 166LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 167 168LOCAL_CFLAGS += $(rs_base_CFLAGS) 169 170LOCAL_LDLIBS := -lpthread -ldl 171LOCAL_MODULE_TAGS := optional 172 173include $(BUILD_SHARED_LIBRARY) 174 175# Now build a host version for serialization 176include $(CLEAR_VARS) 177LOCAL_MODULE:= libRS 178LOCAL_MODULE_TAGS := optional 179 180intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,) 181 182# Generate custom headers 183 184GEN := $(addprefix $(intermediates)/, \ 185 rsgApiStructs.h \ 186 rsgApiFuncDecl.h \ 187 ) 188 189$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 190$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 191$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 192$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 193 $(transform-generated-source) 194 195LOCAL_GENERATED_SOURCES += $(GEN) 196 197# Generate custom source files 198 199GEN := $(addprefix $(intermediates)/, \ 200 rsgApi.cpp \ 201 rsgApiReplay.cpp \ 202 ) 203 204$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 205$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 206$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 207$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 208 $(transform-generated-source) 209 210LOCAL_GENERATED_SOURCES += $(GEN) 211 212LOCAL_CFLAGS += $(rs_base_CFLAGS) 213LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE 214LOCAL_CFLAGS += -fPIC 215 216LOCAL_SRC_FILES:= \ 217 rsAdapter.cpp \ 218 rsAllocation.cpp \ 219 rsAnimation.cpp \ 220 rsComponent.cpp \ 221 rsContext.cpp \ 222 rsDevice.cpp \ 223 rsElement.cpp \ 224 rsFBOCache.cpp \ 225 rsFifoSocket.cpp \ 226 rsFileA3D.cpp \ 227 rsFont.cpp \ 228 rsObjectBase.cpp \ 229 rsMatrix2x2.cpp \ 230 rsMatrix3x3.cpp \ 231 rsMatrix4x4.cpp \ 232 rsMesh.cpp \ 233 rsMutex.cpp \ 234 rsPath.cpp \ 235 rsProgram.cpp \ 236 rsProgramFragment.cpp \ 237 rsProgramStore.cpp \ 238 rsProgramRaster.cpp \ 239 rsProgramVertex.cpp \ 240 rsSampler.cpp \ 241 rsScript.cpp \ 242 rsScriptC.cpp \ 243 rsScriptC_Lib.cpp \ 244 rsScriptC_LibGL.cpp \ 245 rsScriptIntrinsic.cpp \ 246 rsSignal.cpp \ 247 rsStream.cpp \ 248 rsThreadIO.cpp \ 249 rsType.cpp 250 251LOCAL_STATIC_LIBRARIES := libcutils libutils 252 253LOCAL_LDLIBS := -lpthread 254 255include $(BUILD_HOST_STATIC_LIBRARY) 256