1LOCAL_PATH:= $(call my-dir)
2include $(CLEAR_VARS)
3
4# Only build libhwui when USE_OPENGL_RENDERER is
5# defined in the current device/board configuration
6ifeq ($(USE_OPENGL_RENDERER),true)
7	LOCAL_SRC_FILES := \
8		utils/Blur.cpp \
9		utils/GLUtils.cpp \
10		utils/SortedListImpl.cpp \
11		thread/TaskManager.cpp \
12		font/CacheTexture.cpp \
13		font/Font.cpp \
14		AmbientShadow.cpp \
15		AnimationContext.cpp \
16		Animator.cpp \
17		AnimatorManager.cpp \
18		AssetAtlas.cpp \
19		DamageAccumulator.cpp \
20		FontRenderer.cpp \
21		GammaFontRenderer.cpp \
22		Caches.cpp \
23		DisplayList.cpp \
24		DeferredDisplayList.cpp \
25		DeferredLayerUpdater.cpp \
26		DisplayListLogBuffer.cpp \
27		DisplayListRenderer.cpp \
28		Dither.cpp \
29		DrawProfiler.cpp \
30		Extensions.cpp \
31		FboCache.cpp \
32		GradientCache.cpp \
33		Image.cpp \
34		Interpolator.cpp \
35		Layer.cpp \
36		LayerCache.cpp \
37		LayerRenderer.cpp \
38		Matrix.cpp \
39		OpenGLRenderer.cpp \
40		Patch.cpp \
41		PatchCache.cpp \
42		PathCache.cpp \
43		PathTessellator.cpp \
44		PixelBuffer.cpp \
45		Program.cpp \
46		ProgramCache.cpp \
47		RenderBufferCache.cpp \
48		RenderNode.cpp \
49		RenderProperties.cpp \
50		RenderState.cpp \
51		ResourceCache.cpp \
52		ShadowTessellator.cpp \
53		SkiaShader.cpp \
54		Snapshot.cpp \
55		SpotShadow.cpp \
56		StatefulBaseRenderer.cpp \
57		Stencil.cpp \
58		TessellationCache.cpp \
59		Texture.cpp \
60		TextureCache.cpp \
61		TextDropShadowCache.cpp
62
63# RenderThread stuff
64	LOCAL_SRC_FILES += \
65		renderthread/CanvasContext.cpp \
66		renderthread/DrawFrameTask.cpp \
67		renderthread/EglManager.cpp \
68		renderthread/RenderProxy.cpp \
69		renderthread/RenderTask.cpp \
70		renderthread/RenderThread.cpp \
71		renderthread/TimeLord.cpp
72
73	intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,)
74
75	LOCAL_C_INCLUDES += \
76		external/skia/src/core
77
78	LOCAL_CFLAGS += -DUSE_OPENGL_RENDERER -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES
79	LOCAL_CFLAGS += -Wno-unused-parameter
80	LOCAL_MODULE_CLASS := SHARED_LIBRARIES
81	LOCAL_SHARED_LIBRARIES := liblog libcutils libutils libEGL libGLESv2 libskia libui libgui
82	LOCAL_MODULE := libhwui
83	LOCAL_MODULE_TAGS := optional
84
85	include external/stlport/libstlport.mk
86
87	ifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
88		LOCAL_CFLAGS += -DANDROID_ENABLE_RENDERSCRIPT
89		LOCAL_SHARED_LIBRARIES += libRS libRScpp
90		LOCAL_C_INCLUDES += \
91			$(intermediates) \
92			frameworks/rs/cpp \
93			frameworks/rs
94	endif
95
96	ifndef HWUI_COMPILE_SYMBOLS
97		LOCAL_CFLAGS += -fvisibility=hidden
98	endif
99
100	ifdef HWUI_COMPILE_FOR_PERF
101		LOCAL_CFLAGS += -fno-omit-frame-pointer -marm -mapcs
102	endif
103
104	# Defaults for ATRACE_TAG and LOG_TAG for libhwui
105	LOCAL_CFLAGS += -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\"
106
107	include $(BUILD_SHARED_LIBRARY)
108
109	include $(call all-makefiles-under,$(LOCAL_PATH))
110endif
111