Android.mk revision 89c1d61c16c786ecfd258a43fed24bcf8f8456ed
1edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_PATH:= $(call my-dir)
2edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
3b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
4edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project# Build META EGL library
5edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
6edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
7edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS)
8edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
924035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias AgopianLOCAL_SRC_FILES:= 	       \
10518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian	EGL/egl_tls.cpp        \
11aca51c06f38155f1435fbc6944d7fc0a9bf1e4e9Jamie Gennis	EGL/egl_cache.cpp      \
12518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian	EGL/egl_display.cpp    \
13518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian	EGL/egl_object.cpp     \
1424035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias Agopian	EGL/egl.cpp 	       \
15518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian	EGL/eglApi.cpp 	       \
16a2dd6cf59962e3a21a47df29b2f243e904839ba7Jack Palevich	EGL/trace.cpp              \
1724035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias Agopian	EGL/getProcAddress.cpp.arm \
1824035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias Agopian	EGL/Loader.cpp 	       \
19edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
20864f839e969ba3417d82ab3ff7906b2f69afa900David Li
21864f839e969ba3417d82ab3ff7906b2f69afa900David LiLOCAL_SHARED_LIBRARIES += libcutils libutils libGLESv2_dbg
22edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl
23edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_MODULE:= libEGL
24b33d5cff62c912fb0312daca083002558fb4a26bDavid LiLOCAL_LDFLAGS += -Wl,--exclude-libs=ALL
25baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
26baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# Bionic's private TLS header relies on the ARCH_ARM_HAVE_TLS_REGISTER to
27baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# select the appropriate TLS codepath
28baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
29baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
30edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectendif
31baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
32baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
33edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
34076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libEGL\"
35076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
3648685c45bb333c3564596158e2e67267110c9277Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
37a2dd6cf59962e3a21a47df29b2f243e904839ba7Jack PalevichLOCAL_CFLAGS += -DEGL_TRACE=1
38076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias Agopian
39a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopianifeq ($(TARGET_BOARD_PLATFORM),msm7k)
40a69e0ed4a38ded9778d37da453899d527c4396b9Mathias AgopianLOCAL_CFLAGS += -DADRENO130=1
41a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopianendif
42a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopian
43673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
44673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
45673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
46673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
4789c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),)
4889c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis  LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE)
4989c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisendif
5089c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis
5189c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisifneq ($(MAX_EGL_CACHE_SIZE),)
5289c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis  LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE)
5389c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisendif
5489c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis
55edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
56de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinstalled_libEGL := $(LOCAL_INSTALLED_MODULE)
57edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
58de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian# OpenGL drivers config file
59de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianifneq ($(BOARD_EGL_CFG),)
60de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
61de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinclude $(CLEAR_VARS)
62de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE := egl.cfg
63de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_TAGS := optional
64de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_CLASS := ETC
65de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl
66de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG)
67de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinclude $(BUILD_PREBUILT)
68de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
69de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian# make sure we depend on egl.cfg, so it gets installed
70de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian$(installed_libEGL): | egl.cfg
71de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
72de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianendif
73edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
74b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
75b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 1.x library
76edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
77edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
78edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS)
79edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
80b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= 		\
81b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian	GLES_CM/gl.cpp.arm 	\
82edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
83edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
84d8fb7b586f3cfac42694208547b58438d7f3b3edMathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL
85edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl
86edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_MODULE:= libGLESv1_CM
87edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
88baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
89baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
90baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
91baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
92edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectendif
93baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
94edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
95076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\"
96076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
9748685c45bb333c3564596158e2e67267110c9277Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
98076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias Agopian
99673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
100673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
101673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
102673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
103edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
104b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
105b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
106b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
107b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 2.x library
108b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian#
109b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
110b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(CLEAR_VARS)
111b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
112b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= 		\
113b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian	GLES2/gl2.cpp.arm 	\
114b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian#
115b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
116b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL
117b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_LDLIBS := -lpthread -ldl
118b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_MODULE:= libGLESv2
119b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
120baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
121baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
122baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
123baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
124b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianendif
125baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
126b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
127b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\"
128b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
129b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
130b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
131673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
132673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
133673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
134673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
135b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(BUILD_SHARED_LIBRARY)
13601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
13701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich###############################################################################
13801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 host static library
13901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
14001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS)
14201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= 		\
14401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich	ETC1/etc1.cpp 	\
14501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
14601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl
14801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1
14901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_HOST_STATIC_LIBRARY)
15101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich###############################################################################
15301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 device library
15401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
15501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS)
15701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= 		\
15901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich	ETC1/etc1.cpp 	\
16001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
16101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
16201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl
16301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1
16401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
16501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_SHARED_LIBRARY)
1662f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Li
1672f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Liinclude $(call all-makefiles-under,$(LOCAL_PATH))
168