blob: b3b3479ebe5345e1c7ac185b9cddbaaa0ad84cef [file] [log] [blame]
Romain Guye4d01122010-06-16 18:44:05 -07001LOCAL_PATH:= $(call my-dir)
2include $(CLEAR_VARS)
Dan Albert88ba3392014-09-11 16:20:16 -07003LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
Romain Guye4d01122010-06-16 18:44:05 -07004
John Reckd2e72142015-08-17 13:11:43 -07005hwui_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 \
Derek Sollenberger4c5efe92015-07-10 13:56:39 -040026 utils/NinePatchImpl.cpp \
John Reckd2e72142015-08-17 13:11:43 -070027 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
John Recka2732a22014-12-18 13:52:33 -0800139LOCAL_MODULE_CLASS := SHARED_LIBRARIES
140LOCAL_MODULE := libhwui
John Reckd2e72142015-08-17 13:11:43 -0700141LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
142LOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
Romain Guye4d01122010-06-16 18:44:05 -0700143
John Recka2732a22014-12-18 13:52:33 -0800144include $(BUILD_SHARED_LIBRARY)
Andreas Gampeedaecc12014-11-10 20:54:07 -0800145
John Reckd2e72142015-08-17 13:11:43 -0700146# ------------------------
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)