1 LOCAL_PATH:= $(call my-dir) 2 3 ############################################################################### 4 # Build META EGL library 5 # 6 7 egl.cfg_config_module := 8 # OpenGL drivers config file 9 ifneq ($(BOARD_EGL_CFG),) 10 11 include $(CLEAR_VARS) 12 LOCAL_MODULE := egl.cfg 13 LOCAL_MODULE_TAGS := optional 14 LOCAL_MODULE_CLASS := ETC 15 LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl 16 LOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG) 17 include $(BUILD_PREBUILT) 18 egl.cfg_config_module := $(LOCAL_MODULE) 19 endif 20 21 include $(CLEAR_VARS) 22 23 LOCAL_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/getProcAddress.cpp.arm \ 31 EGL/Loader.cpp \ 32 # 33 34 LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libui 35 LOCAL_MODULE:= libEGL 36 LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL 37 LOCAL_SHARED_LIBRARIES += libdl 38 # we need to access the private Bionic header <bionic_tls.h> 39 LOCAL_C_INCLUDES += bionic/libc/private 40 41 LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 42 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 43 LOCAL_CFLAGS += -fvisibility=hidden 44 45 ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) 46 LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION 47 endif 48 ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) 49 LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) 50 endif 51 52 ifneq ($(MAX_EGL_CACHE_KEY_SIZE),) 53 LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) 54 endif 55 56 ifneq ($(MAX_EGL_CACHE_SIZE),) 57 LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) 58 endif 59 60 ifneq ($(filter address,$(SANITIZE_TARGET)),) 61 LOCAL_CFLAGS_32 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib\" 62 LOCAL_CFLAGS_64 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib64\" 63 endif 64 65 LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) 66 egl.cfg_config_module := 67 68 include $(BUILD_SHARED_LIBRARY) 69 70 ############################################################################### 71 # Build the wrapper OpenGL ES 1.x library 72 # 73 74 include $(CLEAR_VARS) 75 76 LOCAL_SRC_FILES:= \ 77 GLES_CM/gl.cpp.arm \ 78 # 79 80 LOCAL_CLANG := false 81 LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL 82 LOCAL_MODULE:= libGLESv1_CM 83 84 LOCAL_SHARED_LIBRARIES += libdl 85 # we need to access the private Bionic header <bionic_tls.h> 86 LOCAL_C_INCLUDES += bionic/libc/private 87 88 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 89 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 90 LOCAL_CFLAGS += -fvisibility=hidden 91 92 # TODO: This is to work around b/20093774. Remove after root cause is fixed 93 LOCAL_LDFLAGS_arm += -Wl,--hash-style,both 94 95 include $(BUILD_SHARED_LIBRARY) 96 97 98 ############################################################################### 99 # Build the wrapper OpenGL ES 2.x library 100 # 101 102 include $(CLEAR_VARS) 103 104 LOCAL_SRC_FILES:= \ 105 GLES2/gl2.cpp \ 106 # 107 108 LOCAL_CLANG := false 109 LOCAL_ARM_MODE := arm 110 LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL 111 LOCAL_MODULE:= libGLESv2 112 113 LOCAL_SHARED_LIBRARIES += libdl 114 # we need to access the private Bionic header <bionic_tls.h> 115 LOCAL_C_INCLUDES += bionic/libc/private 116 117 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 118 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 119 LOCAL_CFLAGS += -fvisibility=hidden 120 121 # TODO: This is to work around b/20093774. Remove after root cause is fixed 122 LOCAL_LDFLAGS_arm += -Wl,--hash-style,both 123 124 include $(BUILD_SHARED_LIBRARY) 125 126 ############################################################################### 127 # Build the wrapper OpenGL ES 3.x library (this is just different name for v2) 128 # 129 130 include $(CLEAR_VARS) 131 132 LOCAL_SRC_FILES:= \ 133 GLES2/gl2.cpp \ 134 # 135 136 LOCAL_CLANG := false 137 LOCAL_ARM_MODE := arm 138 LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL 139 LOCAL_MODULE:= libGLESv3 140 LOCAL_SHARED_LIBRARIES += libdl 141 # we need to access the private Bionic header <bionic_tls.h> 142 LOCAL_C_INCLUDES += bionic/libc/private 143 144 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv3\" 145 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 146 LOCAL_CFLAGS += -fvisibility=hidden 147 148 # TODO: This is to work around b/20093774. Remove after root cause is fixed 149 LOCAL_LDFLAGS_arm += -Wl,--hash-style,both 150 151 include $(BUILD_SHARED_LIBRARY) 152 153 ############################################################################### 154 # Build the ETC1 host static library 155 # 156 157 include $(CLEAR_VARS) 158 159 LOCAL_SRC_FILES:= \ 160 ETC1/etc1.cpp \ 161 # 162 163 LOCAL_MODULE:= libETC1 164 LOCAL_MODULE_HOST_OS := darwin linux windows 165 166 include $(BUILD_HOST_STATIC_LIBRARY) 167 168 ############################################################################### 169 # Build the ETC1 device library 170 # 171 172 include $(CLEAR_VARS) 173 174 LOCAL_SRC_FILES:= \ 175 ETC1/etc1.cpp \ 176 # 177 178 LOCAL_MODULE:= libETC1 179 180 include $(BUILD_SHARED_LIBRARY) 181 182 include $(call all-makefiles-under,$(LOCAL_PATH)) 183