Android.mk revision 5655c7cdd36a27674f5a286e545cceade54fef69
1LOCAL_PATH:= $(call my-dir) 2include $(CLEAR_VARS) 3LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 4 5HWUI_NEW_OPS := false 6 7hwui_src_files := \ 8 font/CacheTexture.cpp \ 9 font/Font.cpp \ 10 renderstate/Blend.cpp \ 11 renderstate/MeshState.cpp \ 12 renderstate/PixelBufferState.cpp \ 13 renderstate/RenderState.cpp \ 14 renderstate/Scissor.cpp \ 15 renderstate/Stencil.cpp \ 16 renderstate/TextureState.cpp \ 17 renderthread/CanvasContext.cpp \ 18 renderthread/DrawFrameTask.cpp \ 19 renderthread/EglManager.cpp \ 20 renderthread/RenderProxy.cpp \ 21 renderthread/RenderTask.cpp \ 22 renderthread/RenderThread.cpp \ 23 renderthread/TimeLord.cpp \ 24 thread/TaskManager.cpp \ 25 utils/Blur.cpp \ 26 utils/GLUtils.cpp \ 27 utils/LinearAllocator.cpp \ 28 utils/NinePatchImpl.cpp \ 29 utils/StringUtils.cpp \ 30 utils/TestWindowContext.cpp \ 31 AmbientShadow.cpp \ 32 AnimationContext.cpp \ 33 Animator.cpp \ 34 AnimatorManager.cpp \ 35 AssetAtlas.cpp \ 36 Caches.cpp \ 37 CanvasState.cpp \ 38 ClipArea.cpp \ 39 DamageAccumulator.cpp \ 40 DeferredDisplayList.cpp \ 41 DeferredLayerUpdater.cpp \ 42 DeviceInfo.cpp \ 43 DisplayList.cpp \ 44 DisplayListCanvas.cpp \ 45 Dither.cpp \ 46 Extensions.cpp \ 47 FboCache.cpp \ 48 FontRenderer.cpp \ 49 FrameInfo.cpp \ 50 FrameInfoVisualizer.cpp \ 51 GammaFontRenderer.cpp \ 52 GlopBuilder.cpp \ 53 GradientCache.cpp \ 54 Image.cpp \ 55 Interpolator.cpp \ 56 JankTracker.cpp \ 57 Layer.cpp \ 58 LayerCache.cpp \ 59 LayerRenderer.cpp \ 60 LayerUpdateQueue.cpp \ 61 Matrix.cpp \ 62 OpenGLRenderer.cpp \ 63 Patch.cpp \ 64 PatchCache.cpp \ 65 PathCache.cpp \ 66 PathTessellator.cpp \ 67 PixelBuffer.cpp \ 68 Program.cpp \ 69 ProgramCache.cpp \ 70 Properties.cpp \ 71 RenderBufferCache.cpp \ 72 RenderNode.cpp \ 73 RenderProperties.cpp \ 74 ResourceCache.cpp \ 75 ShadowTessellator.cpp \ 76 SkiaCanvas.cpp \ 77 SkiaCanvasProxy.cpp \ 78 SkiaShader.cpp \ 79 Snapshot.cpp \ 80 SpotShadow.cpp \ 81 TessellationCache.cpp \ 82 TextDropShadowCache.cpp \ 83 Texture.cpp \ 84 TextureCache.cpp \ 85 protos/hwui.proto 86 87hwui_cflags := \ 88 -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \ 89 -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \ 90 -Wall -Wno-unused-parameter -Wunreachable-code -Werror 91 92# GCC false-positives on this warning, and since we -Werror that's 93# a problem 94hwui_cflags += -Wno-free-nonheap-object 95 96ifeq (true, $(HWUI_NEW_OPS)) 97 hwui_src_files += \ 98 BakedOpRenderer.cpp \ 99 OpReorderer.cpp \ 100 RecordingCanvas.cpp 101 102 hwui_cflags += -DHWUI_NEW_OPS 103 104endif 105 106ifndef HWUI_COMPILE_SYMBOLS 107 hwui_cflags += -fvisibility=hidden 108endif 109 110ifdef HWUI_COMPILE_FOR_PERF 111 # TODO: Non-arm? 112 hwui_cflags += -fno-omit-frame-pointer -marm -mapcs 113endif 114 115# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS 116# which varies depending on what is being built 117define hwui_proto_include 118$(call local-generated-sources-dir)/proto/$(LOCAL_PATH) 119endef 120 121hwui_c_includes += \ 122 external/skia/include/private \ 123 external/skia/src/core 124 125hwui_shared_libraries := \ 126 liblog \ 127 libcutils \ 128 libutils \ 129 libEGL \ 130 libGLESv2 \ 131 libskia \ 132 libui \ 133 libgui \ 134 libprotobuf-cpp-lite \ 135 136ifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT)) 137 hwui_cflags += -DANDROID_ENABLE_RENDERSCRIPT 138 hwui_shared_libraries += libRS libRScpp 139 hwui_c_includes += \ 140 $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) \ 141 frameworks/rs/cpp \ 142 frameworks/rs 143endif 144 145 146# ------------------------ 147# static library 148# ------------------------ 149 150include $(CLEAR_VARS) 151 152LOCAL_MODULE_CLASS := STATIC_LIBRARIES 153LOCAL_MODULE := libhwui_static 154LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries) 155LOCAL_CFLAGS := $(hwui_cflags) 156LOCAL_SRC_FILES := $(hwui_src_files) 157LOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include) 158LOCAL_EXPORT_C_INCLUDE_DIRS := $(hwui_c_includes) $(call hwui_proto_include) 159 160include $(BUILD_STATIC_LIBRARY) 161 162# ------------------------ 163# static library null gpu 164# ------------------------ 165 166include $(CLEAR_VARS) 167 168LOCAL_MODULE_CLASS := STATIC_LIBRARIES 169LOCAL_MODULE := libhwui_static_null_gpu 170LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries) 171LOCAL_CFLAGS := \ 172 $(hwui_cflags) \ 173 -DHWUI_NULL_GPU 174LOCAL_SRC_FILES := \ 175 $(hwui_src_files) \ 176 tests/nullegl.cpp \ 177 tests/nullgles.cpp 178LOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include) 179LOCAL_EXPORT_C_INCLUDE_DIRS := $(hwui_c_includes) $(call hwui_proto_include) 180 181include $(BUILD_STATIC_LIBRARY) 182 183# ------------------------ 184# shared library 185# ------------------------ 186 187include $(CLEAR_VARS) 188 189LOCAL_MODULE_CLASS := SHARED_LIBRARIES 190LOCAL_MODULE := libhwui 191LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static 192LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries) 193 194include $(BUILD_SHARED_LIBRARY) 195 196# ------------------------ 197# unit tests 198# ------------------------ 199 200include $(CLEAR_VARS) 201 202LOCAL_MODULE := hwui_unit_tests 203LOCAL_MODULE_TAGS := tests 204LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries) 205LOCAL_STATIC_LIBRARIES := libhwui_static_null_gpu 206LOCAL_CFLAGS := $(hwui_cflags) 207 208LOCAL_SRC_FILES += \ 209 unit_tests/CanvasStateTests.cpp \ 210 unit_tests/ClipAreaTests.cpp \ 211 unit_tests/DamageAccumulatorTests.cpp \ 212 unit_tests/DeviceInfoTests.cpp \ 213 unit_tests/FatVectorTests.cpp \ 214 unit_tests/LayerUpdateQueueTests.cpp \ 215 unit_tests/LinearAllocatorTests.cpp \ 216 unit_tests/StringUtilsTests.cpp 217 218ifeq (true, $(HWUI_NEW_OPS)) 219 LOCAL_SRC_FILES += \ 220 unit_tests/BakedOpStateTests.cpp \ 221 unit_tests/RecordingCanvasTests.cpp \ 222 unit_tests/OpReordererTests.cpp 223endif 224 225include $(BUILD_NATIVE_TEST) 226 227# ------------------------ 228# test app 229# ------------------------ 230 231include $(CLEAR_VARS) 232 233LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp 234LOCAL_MODULE:= hwuitest 235LOCAL_MODULE_TAGS := tests 236LOCAL_MODULE_CLASS := EXECUTABLES 237LOCAL_MULTILIB := both 238LOCAL_MODULE_STEM_32 := hwuitest 239LOCAL_MODULE_STEM_64 := hwuitest64 240LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries) 241LOCAL_CFLAGS := $(hwui_cflags) 242 243# set to libhwui_static_null_gpu to skip actual GL commands 244LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static 245 246LOCAL_SRC_FILES += \ 247 tests/TestContext.cpp \ 248 tests/TreeContentAnimation.cpp \ 249 tests/main.cpp 250 251include $(BUILD_EXECUTABLE) 252 253# ------------------------ 254# Micro-bench app 255# --------------------- 256include $(CLEAR_VARS) 257 258LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp 259LOCAL_MODULE:= hwuimicro 260LOCAL_MODULE_TAGS := tests 261LOCAL_MODULE_CLASS := EXECUTABLES 262LOCAL_MULTILIB := both 263LOCAL_MODULE_STEM_32 := hwuimicro 264LOCAL_MODULE_STEM_64 := hwuimicro64 265LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries) 266LOCAL_CFLAGS := $(hwui_cflags) 267LOCAL_C_INCLUDES += bionic/benchmarks/ 268 269LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_null_gpu 270LOCAL_STATIC_LIBRARIES := libbenchmark libbase 271 272LOCAL_SRC_FILES += \ 273 microbench/DisplayListCanvasBench.cpp \ 274 microbench/LinearAllocatorBench.cpp \ 275 microbench/ShadowBench.cpp 276 277ifeq (true, $(HWUI_NEW_OPS)) 278 LOCAL_SRC_FILES += \ 279 microbench/OpReordererBench.cpp 280endif 281 282include $(BUILD_EXECUTABLE) 283