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