Android.mk revision f478e6d18cb9eba1ded1f124ce16a899d271689e
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
210469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyLOCAL_SHARED_LIBRARIES += libcutils libutils libGLES_trace
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
39201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hallifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true)
40201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hall  LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION
41201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hallendif
42201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hall
43a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopianifeq ($(TARGET_BOARD_PLATFORM),msm7k)
44d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopian  LOCAL_CFLAGS += -DADRENO130=1
45d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopianendif
46d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopian
47d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopianifeq ($(TARGET_BOARD_PLATFORM), s5pc110)
48d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopian  # see Loader.cpp for details
49d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopian  LOCAL_CFLAGS += -DSYSTEMUI_PBSIZE_HACK=1
50a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopianendif
51a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopian
52673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
53673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
54673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
55673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
5689c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),)
5789c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis  LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE)
5889c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisendif
5989c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis
60f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennisifneq ($(MAX_EGL_CACHE_KEY_SIZE),)
61f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennis  LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE)
62f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennisendif
63f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennis
6489c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisifneq ($(MAX_EGL_CACHE_SIZE),)
6589c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis  LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE)
6689c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisendif
6789c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis
68edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
69de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinstalled_libEGL := $(LOCAL_INSTALLED_MODULE)
70edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
71de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian# OpenGL drivers config file
72de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianifneq ($(BOARD_EGL_CFG),)
73de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
74de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinclude $(CLEAR_VARS)
75de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE := egl.cfg
76de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_TAGS := optional
77de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_CLASS := ETC
78de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl
79de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG)
80de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinclude $(BUILD_PREBUILT)
81de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
82de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian# make sure we depend on egl.cfg, so it gets installed
83de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian$(installed_libEGL): | egl.cfg
84de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
85de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianendif
86edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
87b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
88b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 1.x library
89edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
90edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
91edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS)
92edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
93b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= 		\
94b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian	GLES_CM/gl.cpp.arm 	\
95edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
96edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
97d8fb7b586f3cfac42694208547b58438d7f3b3edMathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL
98edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl
99edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_MODULE:= libGLESv1_CM
100edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
101baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
102baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
103baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
104baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
105edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectendif
106baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
107edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
108076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\"
109076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
11048685c45bb333c3564596158e2e67267110c9277Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
111076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias Agopian
112673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
113673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
114673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
115673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
116edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
117b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
118b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
119b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
120b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 2.x library
121b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian#
122b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
123b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(CLEAR_VARS)
124b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
125b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= 		\
126b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian	GLES2/gl2.cpp.arm 	\
127b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian#
128b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
1297e5099a9ece6a3ed7edb1b5bf60a43422428326cJesse HallLOCAL_SHARED_LIBRARIES += libcutils libutils libEGL
130b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_LDLIBS := -lpthread -ldl
131b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_MODULE:= libGLESv2
132b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
133baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
134baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
135baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
136baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
137b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianendif
138baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
139b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
140b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\"
141b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
142b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
143b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
144673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
145673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
146673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
147673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
148b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(BUILD_SHARED_LIBRARY)
14901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich###############################################################################
15101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 host static library
15201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
15301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS)
15501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= 		\
15701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich	ETC1/etc1.cpp 	\
15801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
15901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
16001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl
16101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1
16201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
16301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_HOST_STATIC_LIBRARY)
16401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
16501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich###############################################################################
16601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 device library
16701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
16801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
16901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS)
17001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
17101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= 		\
17201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich	ETC1/etc1.cpp 	\
17301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
17401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
17501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl
17601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1
17701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
17801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_SHARED_LIBRARY)
1792f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Li
1802f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Liinclude $(call all-makefiles-under,$(LOCAL_PATH))
181