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