Android.mk revision 4a793fe95213675da514bc7f92655c3fa0e07ff3
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
50ifeq ($(TARGET_BOARD_PLATFORM), omap4)
51  LOCAL_CFLAGS += -DWORKAROUND_BUG_10194508=1
52endif
53ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),)
54  LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE)
55endif
56
57ifneq ($(MAX_EGL_CACHE_KEY_SIZE),)
58  LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE)
59endif
60
61ifneq ($(MAX_EGL_CACHE_SIZE),)
62  LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE)
63endif
64
65LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module)
66egl.cfg_config_module :=
67
68include $(BUILD_SHARED_LIBRARY)
69
70###############################################################################
71# Build the wrapper OpenGL ES 1.x library
72#
73
74include $(CLEAR_VARS)
75
76LOCAL_SRC_FILES:= 		\
77	GLES_CM/gl.cpp.arm 	\
78#
79
80LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL
81LOCAL_MODULE:= libGLESv1_CM
82
83LOCAL_SHARED_LIBRARIES += libdl
84# we need to access the private Bionic header <bionic_tls.h>
85LOCAL_C_INCLUDES += bionic/libc/private
86
87LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\"
88LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
89LOCAL_CFLAGS += -fvisibility=hidden
90
91include $(BUILD_SHARED_LIBRARY)
92
93
94###############################################################################
95# Build the wrapper OpenGL ES 2.x library
96#
97
98include $(CLEAR_VARS)
99
100LOCAL_SRC_FILES:= 		\
101	GLES2/gl2.cpp.arm 	\
102#
103
104LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL
105LOCAL_MODULE:= libGLESv2
106
107LOCAL_SHARED_LIBRARIES += libdl
108# we need to access the private Bionic header <bionic_tls.h>
109LOCAL_C_INCLUDES += bionic/libc/private
110
111LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\"
112LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
113LOCAL_CFLAGS += -fvisibility=hidden
114
115include $(BUILD_SHARED_LIBRARY)
116
117# Symlink libGLESv3.so -> libGLESv2.so
118# Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps
119# will be linked against libGLESv3.so.
120LIBGLESV2 := $(LOCAL_INSTALLED_MODULE)
121LIBGLESV3 := $(subst libGLESv2,libGLESv3,$(LIBGLESV2))
122$(LIBGLESV3): $(LIBGLESV2)
123	@echo "Symlink: $@ -> $(notdir $<)"
124	@mkdir -p $(dir $@)
125	$(hide) ln -sf $(notdir $<) $@
126ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
127	$(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(LIBGLESV3)
128LIBGLESV2 :=
129LIBGLESV3 :=
130
131###############################################################################
132# Build the ETC1 host static library
133#
134
135include $(CLEAR_VARS)
136
137LOCAL_SRC_FILES:= 		\
138	ETC1/etc1.cpp 	\
139#
140
141LOCAL_MODULE:= libETC1
142
143include $(BUILD_HOST_STATIC_LIBRARY)
144
145###############################################################################
146# Build the ETC1 device library
147#
148
149include $(CLEAR_VARS)
150
151LOCAL_SRC_FILES:= 		\
152	ETC1/etc1.cpp 	\
153#
154
155LOCAL_MODULE:= libETC1
156
157include $(BUILD_SHARED_LIBRARY)
158
159include $(call all-makefiles-under,$(LOCAL_PATH))
160