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