blob: f389c9493b46f2c97c796d59d501a083dc75893f [file] [log] [blame]
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08001LOCAL_PATH:= $(call my-dir)
2
Mathias Agopianb1a39d62009-05-27 20:38:06 -07003###############################################################################
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08004# Build META EGL library
5#
6
Ying Wangac0de622012-12-04 12:04:44 -08007egl.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
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080021include $(CLEAR_VARS)
22
Mathias Agopian24035332010-08-02 17:34:32 -070023LOCAL_SRC_FILES:= \
Mathias Agopian518ec112011-05-13 16:21:08 -070024 EGL/egl_tls.cpp \
Jamie Gennisaca51c02011-11-03 17:42:43 -070025 EGL/egl_cache.cpp \
Mathias Agopian518ec112011-05-13 16:21:08 -070026 EGL/egl_display.cpp \
27 EGL/egl_object.cpp \
Mathias Agopian24035332010-08-02 17:34:32 -070028 EGL/egl.cpp \
Mathias Agopian518ec112011-05-13 16:21:08 -070029 EGL/eglApi.cpp \
Jack Palevicha2dd6cf2010-10-26 15:21:24 -070030 EGL/trace.cpp \
Mathias Agopian24035332010-08-02 17:34:32 -070031 EGL/getProcAddress.cpp.arm \
Mathias Agopian24035332010-08-02 17:34:32 -070032 EGL/Loader.cpp \
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080033#
David Li864f8392011-03-28 10:39:28 -070034
Ying Wang8a0cb4e2013-04-09 21:55:39 -070035LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libGLES_trace
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080036LOCAL_MODULE:= libEGL
David Lib33d5cf2011-03-04 17:50:48 -080037LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL
Jeff Brownbaa44b82011-07-11 22:12:16 -070038LOCAL_SHARED_LIBRARIES += libdl
Jeff Brownbaa44b82011-07-11 22:12:16 -070039# we need to access the private Bionic header <bionic_tls.h>
40LOCAL_C_INCLUDES += bionic/libc/private
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080041
Mathias Agopian076b1cc2009-04-10 14:24:30 -070042LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\"
43LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
Mathias Agopian48685c42009-05-08 15:23:38 -070044LOCAL_CFLAGS += -fvisibility=hidden
Jack Palevicha2dd6cf2010-10-26 15:21:24 -070045LOCAL_CFLAGS += -DEGL_TRACE=1
Mathias Agopian076b1cc2009-04-10 14:24:30 -070046
Jesse Hall201f3b22012-05-04 14:52:40 -070047ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true)
48 LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION
49endif
Jamie Gennis89c1d612011-11-19 16:25:24 -080050ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),)
51 LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE)
52endif
53
Jamie Gennisf478e6d2012-09-12 11:55:16 -070054ifneq ($(MAX_EGL_CACHE_KEY_SIZE),)
55 LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE)
56endif
57
Jamie Gennis89c1d612011-11-19 16:25:24 -080058ifneq ($(MAX_EGL_CACHE_SIZE),)
59 LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE)
60endif
61
Ivan Krasin73e26742015-09-18 12:03:44 -070062ifneq ($(filter address,$(SANITIZE_TARGET)),)
Evgenii Stepanov7944e8a2015-07-08 15:49:52 -070063 LOCAL_CFLAGS_32 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib\"
64 LOCAL_CFLAGS_64 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib64\"
65endif
66
Ying Wangac0de622012-12-04 12:04:44 -080067LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module)
68egl.cfg_config_module :=
69
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080070include $(BUILD_SHARED_LIBRARY)
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080071
Mathias Agopianb1a39d62009-05-27 20:38:06 -070072###############################################################################
73# Build the wrapper OpenGL ES 1.x library
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080074#
75
76include $(CLEAR_VARS)
77
Mathias Agopianb1a39d62009-05-27 20:38:06 -070078LOCAL_SRC_FILES:= \
79 GLES_CM/gl.cpp.arm \
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080080#
81
Bernhard Rosenkraenzerd3684ae2014-10-13 13:56:57 +020082LOCAL_CLANG := false
Ying Wang8a0cb4e2013-04-09 21:55:39 -070083LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080084LOCAL_MODULE:= libGLESv1_CM
85
Jeff Brownbaa44b82011-07-11 22:12:16 -070086LOCAL_SHARED_LIBRARIES += libdl
87# we need to access the private Bionic header <bionic_tls.h>
Jeff Brownbaa44b82011-07-11 22:12:16 -070088LOCAL_C_INCLUDES += bionic/libc/private
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080089
Mathias Agopian076b1cc2009-04-10 14:24:30 -070090LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\"
91LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
Mathias Agopian48685c42009-05-08 15:23:38 -070092LOCAL_CFLAGS += -fvisibility=hidden
Mathias Agopian076b1cc2009-04-10 14:24:30 -070093
Dmitriy Ivanovae62e052015-05-13 15:05:07 -070094# TODO: This is to work around b/20093774. Remove after root cause is fixed
95LOCAL_LDFLAGS_arm += -Wl,--hash-style,both
96
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080097include $(BUILD_SHARED_LIBRARY)
Mathias Agopianb1a39d62009-05-27 20:38:06 -070098
99
100###############################################################################
101# Build the wrapper OpenGL ES 2.x library
102#
103
104include $(CLEAR_VARS)
105
Dmitriy Ivanovb952f422015-11-18 14:57:49 -0800106LOCAL_SRC_FILES:= \
107 GLES2/gl2.cpp \
Mathias Agopianb1a39d62009-05-27 20:38:06 -0700108#
109
Bernhard Rosenkraenzerd3684ae2014-10-13 13:56:57 +0200110LOCAL_CLANG := false
Dmitriy Ivanovb952f422015-11-18 14:57:49 -0800111LOCAL_ARM_MODE := arm
Ying Wang8a0cb4e2013-04-09 21:55:39 -0700112LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL
Mathias Agopianb1a39d62009-05-27 20:38:06 -0700113LOCAL_MODULE:= libGLESv2
114
Jeff Brownbaa44b82011-07-11 22:12:16 -0700115LOCAL_SHARED_LIBRARIES += libdl
116# we need to access the private Bionic header <bionic_tls.h>
Jeff Brownbaa44b82011-07-11 22:12:16 -0700117LOCAL_C_INCLUDES += bionic/libc/private
Mathias Agopianb1a39d62009-05-27 20:38:06 -0700118
119LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\"
120LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
121LOCAL_CFLAGS += -fvisibility=hidden
122
Dmitriy Ivanovae62e052015-05-13 15:05:07 -0700123# TODO: This is to work around b/20093774. Remove after root cause is fixed
124LOCAL_LDFLAGS_arm += -Wl,--hash-style,both
125
Dmitriy Ivanovb952f422015-11-18 14:57:49 -0800126include $(BUILD_SHARED_LIBRARY)
127
128###############################################################################
129# Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
130#
131
132include $(CLEAR_VARS)
133
134LOCAL_SRC_FILES:= \
135 GLES2/gl2.cpp \
136#
137
138LOCAL_CLANG := false
139LOCAL_ARM_MODE := arm
140LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL
141LOCAL_MODULE:= libGLESv3
142LOCAL_SHARED_LIBRARIES += libdl
143# we need to access the private Bionic header <bionic_tls.h>
144LOCAL_C_INCLUDES += bionic/libc/private
145
146LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv3\"
147LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
148LOCAL_CFLAGS += -fvisibility=hidden
149
150# TODO: This is to work around b/20093774. Remove after root cause is fixed
151LOCAL_LDFLAGS_arm += -Wl,--hash-style,both
Ying Wangc3aed1e2014-07-23 11:33:24 -0700152
153include $(BUILD_SHARED_LIBRARY)
Jesse Hall5ea4c732013-02-08 16:13:50 -0800154
Jack Palevich01cc5382009-12-28 19:31:43 +0800155###############################################################################
156# Build the ETC1 host static library
157#
158
159include $(CLEAR_VARS)
160
161LOCAL_SRC_FILES:= \
162 ETC1/etc1.cpp \
163#
164
Jack Palevich01cc5382009-12-28 19:31:43 +0800165LOCAL_MODULE:= libETC1
Dan Willemsen1cf2c1a2015-08-28 14:09:44 -0700166LOCAL_MODULE_HOST_OS := darwin linux windows
Jack Palevich01cc5382009-12-28 19:31:43 +0800167
168include $(BUILD_HOST_STATIC_LIBRARY)
169
170###############################################################################
171# Build the ETC1 device library
172#
173
174include $(CLEAR_VARS)
175
176LOCAL_SRC_FILES:= \
177 ETC1/etc1.cpp \
178#
179
Jack Palevich01cc5382009-12-28 19:31:43 +0800180LOCAL_MODULE:= libETC1
181
182include $(BUILD_SHARED_LIBRARY)
David Li2f5a6552011-03-01 16:08:10 -0800183
184include $(call all-makefiles-under,$(LOCAL_PATH))