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