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