Android.mk revision d2e72141797e92ced2f076f6b3899a6b450966b4
1LOCAL_PATH:= $(call my-dir)
2include $(CLEAR_VARS)
3LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
4
5hwui_src_files := \
6    font/CacheTexture.cpp \
7    font/Font.cpp \
8    renderstate/Blend.cpp \
9    renderstate/MeshState.cpp \
10    renderstate/PixelBufferState.cpp \
11    renderstate/RenderState.cpp \
12    renderstate/Scissor.cpp \
13    renderstate/Stencil.cpp \
14    renderstate/TextureState.cpp \
15    renderthread/CanvasContext.cpp \
16    renderthread/DrawFrameTask.cpp \
17    renderthread/EglManager.cpp \
18    renderthread/RenderProxy.cpp \
19    renderthread/RenderTask.cpp \
20    renderthread/RenderThread.cpp \
21    renderthread/TimeLord.cpp \
22    thread/TaskManager.cpp \
23    utils/Blur.cpp \
24    utils/GLUtils.cpp \
25    utils/LinearAllocator.cpp \
26    utils/NinePatchImpl.cpp \
27    AmbientShadow.cpp \
28    AnimationContext.cpp \
29    Animator.cpp \
30    AnimatorManager.cpp \
31    AssetAtlas.cpp \
32    Caches.cpp \
33    CanvasState.cpp \
34    ClipArea.cpp \
35    DamageAccumulator.cpp \
36    DeferredDisplayList.cpp \
37    DeferredLayerUpdater.cpp \
38    DisplayList.cpp \
39    DisplayListCanvas.cpp \
40    Dither.cpp \
41    Extensions.cpp \
42    FboCache.cpp \
43    FontRenderer.cpp \
44    FrameInfo.cpp \
45    FrameInfoVisualizer.cpp \
46    GammaFontRenderer.cpp \
47    GlopBuilder.cpp \
48    GradientCache.cpp \
49    Image.cpp \
50    Interpolator.cpp \
51    JankTracker.cpp \
52    Layer.cpp \
53    LayerCache.cpp \
54    LayerRenderer.cpp \
55    Matrix.cpp \
56    OpenGLRenderer.cpp \
57    Patch.cpp \
58    PatchCache.cpp \
59    PathCache.cpp \
60    PathTessellator.cpp \
61    PixelBuffer.cpp \
62    Program.cpp \
63    ProgramCache.cpp \
64    Properties.cpp \
65    RenderBufferCache.cpp \
66    RenderNode.cpp \
67    RenderProperties.cpp \
68    ResourceCache.cpp \
69    ShadowTessellator.cpp \
70    SkiaCanvas.cpp \
71    SkiaCanvasProxy.cpp \
72    SkiaShader.cpp \
73    Snapshot.cpp \
74    SpotShadow.cpp \
75    TessellationCache.cpp \
76    TextDropShadowCache.cpp \
77    Texture.cpp \
78    TextureCache.cpp
79
80hwui_cflags := \
81    -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \
82    -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \
83    -Wall -Wno-unused-parameter -Wunreachable-code \
84    -ffast-math -O3 -Werror
85
86ifndef HWUI_COMPILE_SYMBOLS
87    hwui_cflags += -fvisibility=hidden
88endif
89
90ifdef HWUI_COMPILE_FOR_PERF
91    # TODO: Non-arm?
92    hwui_cflags += -fno-omit-frame-pointer -marm -mapcs
93endif
94
95hwui_c_includes += \
96    external/skia/src/core
97
98hwui_shared_libraries := \
99    liblog \
100    libcutils \
101    libutils \
102    libEGL \
103    libGLESv2 \
104    libskia \
105    libui \
106    libgui \
107
108ifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
109    hwui_cflags += -DANDROID_ENABLE_RENDERSCRIPT
110    hwui_shared_libraries += libRS libRScpp
111    hwui_c_includes += \
112        $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) \
113        frameworks/rs/cpp \
114        frameworks/rs
115endif
116
117
118# ------------------------
119# static library
120# ------------------------
121
122include $(CLEAR_VARS)
123
124LOCAL_MODULE_CLASS := STATIC_LIBRARIES
125LOCAL_MODULE := libhwui_static
126LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
127LOCAL_CFLAGS := $(hwui_cflags)
128LOCAL_SRC_FILES := $(hwui_src_files)
129LOCAL_C_INCLUDES := $(hwui_c_includes)
130
131include $(BUILD_STATIC_LIBRARY)
132
133# ------------------------
134# shared library
135# ------------------------
136
137include $(CLEAR_VARS)
138
139LOCAL_MODULE_CLASS := SHARED_LIBRARIES
140LOCAL_MODULE := libhwui
141LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
142LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
143
144include $(BUILD_SHARED_LIBRARY)
145
146# ------------------------
147# unit tests
148# ------------------------
149
150include $(CLEAR_VARS)
151
152LOCAL_MODULE := hwui_unit_tests
153LOCAL_MODULE_TAGS := tests
154LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
155LOCAL_STATIC_LIBRARIES := libhwui_static
156LOCAL_C_INCLUDES := $(hwui_c_includes)
157LOCAL_CFLAGS := $(hwui_cflags)
158
159LOCAL_SRC_FILES += \
160    unit_tests/ClipAreaTests.cpp \
161    unit_tests/DamageAccumulatorTests.cpp \
162    unit_tests/LinearAllocatorTests.cpp
163
164include $(BUILD_NATIVE_TEST)
165
166# ------------------------
167# test app
168# ------------------------
169
170include $(CLEAR_VARS)
171
172LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
173LOCAL_MODULE:= hwuitest
174LOCAL_MODULE_TAGS := tests
175LOCAL_MULTILIB := both
176LOCAL_MODULE_STEM_32 := hwuitest
177LOCAL_MODULE_STEM_64 := hwuitest64
178LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
179LOCAL_CFLAGS := $(hwui_cflags)
180LOCAL_C_INCLUDES := $(hwui_c_includes)
181
182HWUI_NULL_GPU := false
183
184ifeq (true, $(HWUI_NULL_GPU))
185    LOCAL_SRC_FILES := \
186        $(hwui_src_files) \
187        tests/nullegl.cpp \
188        tests/nullgles.cpp
189
190    LOCAL_CFLAGS += -DHWUI_NULL_GPU
191else
192    LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
193endif
194
195LOCAL_SRC_FILES += \
196    tests/TestContext.cpp \
197    tests/main.cpp
198
199include $(BUILD_EXECUTABLE)
200