Android.mk revision b952f42bef69e5cfb31e1f2d3b5acf351cac0461
1LOCAL_PATH:= $(call my-dir)
2
3###############################################################################
4# Build META EGL library
5#
6
7egl.cfg_config_module :=
8# OpenGL drivers config file
9ifneq ($(BOARD_EGL_CFG),)
10
11include $(CLEAR_VARS)
12LOCAL_MODULE := egl.cfg
13LOCAL_MODULE_TAGS := optional
14LOCAL_MODULE_CLASS := ETC
15LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl
16LOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG)
17include $(BUILD_PREBUILT)
18egl.cfg_config_module := $(LOCAL_MODULE)
19endif
20
21include $(CLEAR_VARS)
22
23LOCAL_SRC_FILES:= 	       \
24	EGL/egl_tls.cpp        \
25	EGL/egl_cache.cpp      \
26	EGL/egl_display.cpp    \
27	EGL/egl_object.cpp     \
28	EGL/egl.cpp 	       \
29	EGL/eglApi.cpp 	       \
30	EGL/trace.cpp              \
31	EGL/getProcAddress.cpp.arm \
32	EGL/Loader.cpp 	       \
33#
34
35LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libGLES_trace
36LOCAL_MODULE:= libEGL
37LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL
38LOCAL_SHARED_LIBRARIES += libdl
39# we need to access the private Bionic header <bionic_tls.h>
40LOCAL_C_INCLUDES += bionic/libc/private
41
42LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\"
43LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
44LOCAL_CFLAGS += -fvisibility=hidden
45LOCAL_CFLAGS += -DEGL_TRACE=1
46
47ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true)
48  LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION
49endif
50ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),)
51  LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE)
52endif
53
54ifneq ($(MAX_EGL_CACHE_KEY_SIZE),)
55  LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE)
56endif
57
58ifneq ($(MAX_EGL_CACHE_SIZE),)
59  LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE)
60endif
61
62ifneq ($(filter address,$(SANITIZE_TARGET)),)
63  LOCAL_CFLAGS_32 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib\"
64  LOCAL_CFLAGS_64 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib64\"
65endif
66
67LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module)
68egl.cfg_config_module :=
69
70include $(BUILD_SHARED_LIBRARY)
71
72###############################################################################
73# Build the wrapper OpenGL ES 1.x library
74#
75
76include $(CLEAR_VARS)
77
78LOCAL_SRC_FILES:= 		\
79	GLES_CM/gl.cpp.arm 	\
80#
81
82LOCAL_CLANG := false
83LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL
84LOCAL_MODULE:= libGLESv1_CM
85
86LOCAL_SHARED_LIBRARIES += libdl
87# we need to access the private Bionic header <bionic_tls.h>
88LOCAL_C_INCLUDES += bionic/libc/private
89
90LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\"
91LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
92LOCAL_CFLAGS += -fvisibility=hidden
93
94# TODO: This is to work around b/20093774. Remove after root cause is fixed
95LOCAL_LDFLAGS_arm += -Wl,--hash-style,both
96
97include $(BUILD_SHARED_LIBRARY)
98
99
100###############################################################################
101# Build the wrapper OpenGL ES 2.x library
102#
103
104include $(CLEAR_VARS)
105
106LOCAL_SRC_FILES:= \
107	GLES2/gl2.cpp   \
108#
109
110LOCAL_CLANG := false
111LOCAL_ARM_MODE := arm
112LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL
113LOCAL_MODULE:= libGLESv2
114
115LOCAL_SHARED_LIBRARIES += libdl
116# we need to access the private Bionic header <bionic_tls.h>
117LOCAL_C_INCLUDES += bionic/libc/private
118
119LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\"
120LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
121LOCAL_CFLAGS += -fvisibility=hidden
122
123# TODO: This is to work around b/20093774. Remove after root cause is fixed
124LOCAL_LDFLAGS_arm += -Wl,--hash-style,both
125
126include $(BUILD_SHARED_LIBRARY)
127
128###############################################################################
129# Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
130#
131
132include $(CLEAR_VARS)
133
134LOCAL_SRC_FILES:= \
135	GLES2/gl2.cpp   \
136#
137
138LOCAL_CLANG := false
139LOCAL_ARM_MODE := arm
140LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL
141LOCAL_MODULE:= libGLESv3
142LOCAL_SHARED_LIBRARIES += libdl
143# we need to access the private Bionic header <bionic_tls.h>
144LOCAL_C_INCLUDES += bionic/libc/private
145
146LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv3\"
147LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
148LOCAL_CFLAGS += -fvisibility=hidden
149
150# TODO: This is to work around b/20093774. Remove after root cause is fixed
151LOCAL_LDFLAGS_arm += -Wl,--hash-style,both
152
153include $(BUILD_SHARED_LIBRARY)
154
155###############################################################################
156# Build the ETC1 host static library
157#
158
159include $(CLEAR_VARS)
160
161LOCAL_SRC_FILES:= 		\
162	ETC1/etc1.cpp 	\
163#
164
165LOCAL_MODULE:= libETC1
166LOCAL_MODULE_HOST_OS := darwin linux windows
167
168include $(BUILD_HOST_STATIC_LIBRARY)
169
170###############################################################################
171# Build the ETC1 device library
172#
173
174include $(CLEAR_VARS)
175
176LOCAL_SRC_FILES:= 		\
177	ETC1/etc1.cpp 	\
178#
179
180LOCAL_MODULE:= libETC1
181
182include $(BUILD_SHARED_LIBRARY)
183
184include $(call all-makefiles-under,$(LOCAL_PATH))
185