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