Android.mk revision 56345f1a5ab5d1d0baeb1846361f864565e202c4
1 2LOCAL_PATH:=$(call my-dir) 3 4rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable -fno-exceptions 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 16LOCAL_MODULE_TARGET_ARCH_WARN := arm mips x86 x86_64 arm64 17 18LOCAL_SRC_FILES:= \ 19 driver/rsdAllocation.cpp \ 20 driver/rsdBcc.cpp \ 21 driver/rsdCore.cpp \ 22 driver/rsdFrameBuffer.cpp \ 23 driver/rsdFrameBufferObj.cpp \ 24 driver/rsdGL.cpp \ 25 driver/rsdMesh.cpp \ 26 driver/rsdMeshObj.cpp \ 27 driver/rsdPath.cpp \ 28 driver/rsdProgram.cpp \ 29 driver/rsdProgramRaster.cpp \ 30 driver/rsdProgramStore.cpp \ 31 driver/rsdRuntimeStubs.cpp \ 32 driver/rsdSampler.cpp \ 33 driver/rsdScriptGroup.cpp \ 34 driver/rsdShader.cpp \ 35 driver/rsdShaderCache.cpp \ 36 driver/rsdVertexArray.cpp 37 38 39LOCAL_SHARED_LIBRARIES += libRS libRSCpuRef libc++ 40LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2 41LOCAL_SHARED_LIBRARIES += libui libgui libsync 42 43LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM 44 45LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 46LOCAL_C_INCLUDES += frameworks/rs/cpu_ref/linkloader/include 47LOCAL_C_INCLUDES += external/libcxx/include 48 49LOCAL_CFLAGS += $(rs_base_CFLAGS) 50LOCAL_CPPFLAGS += -fno-exceptions 51 52LOCAL_MODULE_TAGS := optional 53 54include $(BUILD_SHARED_LIBRARY) 55 56# Build rsg-generator ==================== 57include $(CLEAR_VARS) 58 59LOCAL_MODULE := rsg-generator 60 61# These symbols are normally defined by BUILD_XXX, but we need to define them 62# here so that local-intermediates-dir works. 63 64LOCAL_IS_HOST_MODULE := true 65LOCAL_MODULE_CLASS := EXECUTABLES 66intermediates := $(local-intermediates-dir) 67 68LOCAL_SRC_FILES:= \ 69 spec.l \ 70 rsg_generator.c 71 72include $(BUILD_HOST_EXECUTABLE) 73 74# TODO: This should go into build/core/config.mk 75RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) 76 77include $(CLEAR_VARS) 78LOCAL_CLANG := true 79LOCAL_MODULE := libRS 80LOCAL_MODULE_TARGET_ARCH_WARN := arm mips x86 x86_64 arm64 81 82LOCAL_MODULE_CLASS := SHARED_LIBRARIES 83generated_sources:= $(local-generated-sources-dir) 84 85# Generate custom headers 86 87GEN := $(addprefix $(generated_sources)/, \ 88 rsgApiStructs.h \ 89 rsgApiFuncDecl.h \ 90 ) 91 92$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 93$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@ 94$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec 95$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg 96 $(transform-generated-source) 97 98# used in jni/Android.mk 99rs_generated_source += $(GEN) 100LOCAL_GENERATED_SOURCES += $(GEN) 101 102# Generate custom source files 103 104GEN := $(addprefix $(generated_sources)/, \ 105 rsgApi.cpp \ 106 rsgApiReplay.cpp \ 107 ) 108 109$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 110$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@ 111$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec 112$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 113 $(transform-generated-source) 114 115# used in jni/Android.mk 116rs_generated_source += $(GEN) 117 118LOCAL_GENERATED_SOURCES += $(GEN) 119 120LOCAL_SRC_FILES:= \ 121 rsAdapter.cpp \ 122 rsAllocation.cpp \ 123 rsAnimation.cpp \ 124 rsComponent.cpp \ 125 rsContext.cpp \ 126 rsCppUtils.cpp \ 127 rsDevice.cpp \ 128 rsElement.cpp \ 129 rsFBOCache.cpp \ 130 rsFifoSocket.cpp \ 131 rsFileA3D.cpp \ 132 rsFont.cpp \ 133 rsGrallocConsumer.cpp \ 134 rsObjectBase.cpp \ 135 rsMatrix2x2.cpp \ 136 rsMatrix3x3.cpp \ 137 rsMatrix4x4.cpp \ 138 rsMesh.cpp \ 139 rsMutex.cpp \ 140 rsPath.cpp \ 141 rsProgram.cpp \ 142 rsProgramFragment.cpp \ 143 rsProgramStore.cpp \ 144 rsProgramRaster.cpp \ 145 rsProgramVertex.cpp \ 146 rsSampler.cpp \ 147 rsScript.cpp \ 148 rsScriptC.cpp \ 149 rsScriptC_Lib.cpp \ 150 rsScriptC_LibGL.cpp \ 151 rsScriptGroup.cpp \ 152 rsScriptIntrinsic.cpp \ 153 rsSignal.cpp \ 154 rsStream.cpp \ 155 rsThreadIO.cpp \ 156 rsType.cpp 157 158LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2 libc++ 159LOCAL_SHARED_LIBRARIES += libgui libsync libdl libui 160LOCAL_SHARED_LIBRARIES += libft2 libpng libz 161 162LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM 163 164LOCAL_C_INCLUDES += external/freetype/include 165LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 166LOCAL_C_INCLUDES += external/libcxx/include 167 168LOCAL_CFLAGS += $(rs_base_CFLAGS) 169 170LOCAL_CPPFLAGS += -fno-exceptions 171 172LOCAL_MODULE_TAGS := optional 173 174include $(BUILD_SHARED_LIBRARY) 175 176# Now build a host version for serialization 177include $(CLEAR_VARS) 178LOCAL_MODULE:= libRS 179LOCAL_MODULE_TAGS := optional 180 181intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,) 182 183# Generate custom headers 184 185GEN := $(addprefix $(intermediates)/, \ 186 rsgApiStructs.h \ 187 rsgApiFuncDecl.h \ 188 ) 189 190$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 191$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@ 192$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec 193$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 194 $(transform-generated-source) 195 196LOCAL_GENERATED_SOURCES += $(GEN) 197 198# Generate custom source files 199 200GEN := $(addprefix $(intermediates)/, \ 201 rsgApi.cpp \ 202 rsgApiReplay.cpp \ 203 ) 204 205$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 206$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@ 207$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec 208$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 209 $(transform-generated-source) 210 211LOCAL_GENERATED_SOURCES += $(GEN) 212 213LOCAL_CFLAGS += $(rs_base_CFLAGS) 214LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE 215LOCAL_CFLAGS += -fPIC 216LOCAL_CPPFLAGS += -fno-exceptions 217 218LOCAL_SRC_FILES:= \ 219 rsAdapter.cpp \ 220 rsAllocation.cpp \ 221 rsAnimation.cpp \ 222 rsComponent.cpp \ 223 rsContext.cpp \ 224 rsDevice.cpp \ 225 rsElement.cpp \ 226 rsFBOCache.cpp \ 227 rsFifoSocket.cpp \ 228 rsFileA3D.cpp \ 229 rsFont.cpp \ 230 rsObjectBase.cpp \ 231 rsMatrix2x2.cpp \ 232 rsMatrix3x3.cpp \ 233 rsMatrix4x4.cpp \ 234 rsMesh.cpp \ 235 rsMutex.cpp \ 236 rsPath.cpp \ 237 rsProgram.cpp \ 238 rsProgramFragment.cpp \ 239 rsProgramStore.cpp \ 240 rsProgramRaster.cpp \ 241 rsProgramVertex.cpp \ 242 rsSampler.cpp \ 243 rsScript.cpp \ 244 rsScriptC.cpp \ 245 rsScriptC_Lib.cpp \ 246 rsScriptC_LibGL.cpp \ 247 rsScriptGroup.cpp \ 248 rsScriptIntrinsic.cpp \ 249 rsSignal.cpp \ 250 rsStream.cpp \ 251 rsThreadIO.cpp \ 252 rsType.cpp 253 254LOCAL_STATIC_LIBRARIES := libcutils libutils liblog 255 256include $(BUILD_HOST_STATIC_LIBRARY) 257 258LLVM_ROOT_PATH := external/llvm 259 260#============================================================================= 261# android librsloader for libbcc (Device) 262#----------------------------------------------------------------------------- 263 264rsloader_SRC_FILES := \ 265 cpu_ref/linkloader/android/librsloader.cpp \ 266 cpu_ref/linkloader/lib/ELFHeader.cpp \ 267 cpu_ref/linkloader/lib/ELFSymbol.cpp \ 268 cpu_ref/linkloader/lib/ELFSectionHeader.cpp \ 269 cpu_ref/linkloader/lib/ELFTypes.cpp \ 270 cpu_ref/linkloader/lib/GOT.cpp \ 271 cpu_ref/linkloader/lib/MemChunk.cpp \ 272 cpu_ref/linkloader/lib/StubLayout.cpp \ 273 cpu_ref/linkloader/utils/helper.cpp \ 274 cpu_ref/linkloader/utils/raw_ostream.cpp \ 275 cpu_ref/linkloader/utils/rsl_assert.cpp 276 277include $(CLEAR_VARS) 278 279 280LOCAL_MODULE := librsloader 281LOCAL_MODULE_TAGS := optional 282 283LOCAL_SRC_FILES := $(rsloader_SRC_FILES) 284 285LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 286 287LOCAL_CFLAGS += $(rs_base_CFLAGS) 288LOCAL_CPPFLAGS += -fno-exceptions 289 290LOCAL_C_INCLUDES := \ 291 $(LOCAL_PATH)/cpu_ref/linkloader \ 292 $(LOCAL_PATH)/cpu_ref/linkloader/include \ 293 external/libcxx/include \ 294 $(LOCAL_C_INCLUDES) 295 296include $(LLVM_ROOT_PATH)/llvm-device-build.mk 297include $(BUILD_STATIC_LIBRARY) 298 299#============================================================================= 300# android librsloader for libbcc (Host) 301#----------------------------------------------------------------------------- 302 303include $(CLEAR_VARS) 304 305LOCAL_MODULE := librsloader 306LOCAL_CLANG := true 307 308LOCAL_MODULE_TAGS := optional 309 310LOCAL_SRC_FILES := $(rsloader_SRC_FILES) 311 312ifdef USE_MINGW 313LOCAL_SRC_FILES += cpu_ref/linkloader/lib/mmanWindows.cpp 314endif 315 316LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 317 318LOCAL_CFLAGS += $(rs_base_CFLAGS) 319LOCAL_CFLAGS += -D__HOST__ 320LOCAL_CPPFLAGS += -fno-exceptions 321 322LOCAL_C_INCLUDES := \ 323 $(LOCAL_PATH)/cpu_ref/linkloader \ 324 $(LOCAL_PATH)/cpu_ref/linkloader/include \ 325 external/libcxx/include \ 326 $(LOCAL_C_INCLUDES) 327 328include $(LLVM_ROOT_PATH)/llvm-host-build.mk 329include $(BUILD_HOST_STATIC_LIBRARY) 330 331include $(call all-makefiles-under,$(LOCAL_PATH)) 332