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