Android.mk revision aca51c06f38155f1435fbc6944d7fc0a9bf1e4e9
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
47edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
48de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinstalled_libEGL := $(LOCAL_INSTALLED_MODULE)
49edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
50edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
51de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian# OpenGL drivers config file
52de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianifneq ($(BOARD_EGL_CFG),)
53de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
54de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinclude $(CLEAR_VARS)
55de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE := egl.cfg
56de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_TAGS := optional
57de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_CLASS := ETC
58de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl
59de58697644a52a614ad9498aa087e95d4a223673Mathias AgopianLOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG)
60de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianinclude $(BUILD_PREBUILT)
61de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
62de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian# make sure we depend on egl.cfg, so it gets installed
63de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian$(installed_libEGL): | egl.cfg
64de58697644a52a614ad9498aa087e95d4a223673Mathias Agopian
65de58697644a52a614ad9498aa087e95d4a223673Mathias Agopianendif
66edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
67b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
68b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 1.x library
69edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
70edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
71edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS)
72edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
73b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= 		\
74b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian	GLES_CM/gl.cpp.arm 	\
75edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#
76edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
77d8fb7b586f3cfac42694208547b58438d7f3b3edMathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL
78edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl
79edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_MODULE:= libGLESv1_CM
80edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
81baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
82baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
83baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
84baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
85edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectendif
86baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
87edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
88076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\"
89076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
9048685c45bb333c3564596158e2e67267110c9277Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
91076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias Agopian
92673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
93673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
94673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
95673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
96edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
97b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
98b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
99b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian###############################################################################
100b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 2.x library
101b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian#
102b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
103b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(CLEAR_VARS)
104b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
105b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= 		\
106b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian	GLES2/gl2.cpp.arm 	\
107b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian#
108b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
109b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL
110b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_LDLIBS := -lpthread -ldl
111b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_MODULE:= libGLESv2
112b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
113baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl
114baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h>
115baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brownifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
116baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
117b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianendif
118baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private
119b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
120b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\"
121b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
122b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden
123b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
124673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
125673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian  LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
126673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopianendif
127673d2dbaae647abc58b08de873fd364f0b2fa3f5Mathias Agopian
128b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(BUILD_SHARED_LIBRARY)
12901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
13001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich###############################################################################
13101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 host static library
13201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
13301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
13401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS)
13501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
13601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= 		\
13701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich	ETC1/etc1.cpp 	\
13801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
13901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl
14101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1
14201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_HOST_STATIC_LIBRARY)
14401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich###############################################################################
14601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 device library
14701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
14801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
14901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS)
15001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= 		\
15201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich	ETC1/etc1.cpp 	\
15301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich#
15401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl
15601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1
15701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich
15801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_SHARED_LIBRARY)
1592f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Li
1602f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Liinclude $(call all-makefiles-under,$(LOCAL_PATH))
161