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/trace.cpp \ 31 EGL/getProcAddress.cpp.arm \ 32 EGL/Loader.cpp \ 33 # 34 35 LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libGLES_trace 36 LOCAL_MODULE:= libEGL 37 LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL 38 LOCAL_SHARED_LIBRARIES += libdl 39 # we need to access the private Bionic header <bionic_tls.h> 40 LOCAL_C_INCLUDES += bionic/libc/private 41 42 LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 43 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 44 LOCAL_CFLAGS += -fvisibility=hidden 45 LOCAL_CFLAGS += -DEGL_TRACE=1 46 47 ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) 48 LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION 49 endif 50 ifeq ($(TARGET_BOARD_PLATFORM), omap4) 51 LOCAL_CFLAGS += -DWORKAROUND_BUG_10194508=1 52 endif 53 ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) 54 LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) 55 endif 56 57 ifneq ($(MAX_EGL_CACHE_KEY_SIZE),) 58 LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) 59 endif 60 61 ifneq ($(MAX_EGL_CACHE_SIZE),) 62 LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) 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_SHARED_LIBRARIES += libcutils liblog libEGL 81 LOCAL_MODULE:= libGLESv1_CM 82 83 LOCAL_SHARED_LIBRARIES += libdl 84 # we need to access the private Bionic header <bionic_tls.h> 85 LOCAL_C_INCLUDES += bionic/libc/private 86 87 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 88 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 89 LOCAL_CFLAGS += -fvisibility=hidden 90 91 include $(BUILD_SHARED_LIBRARY) 92 93 94 ############################################################################### 95 # Build the wrapper OpenGL ES 2.x library 96 # 97 98 include $(CLEAR_VARS) 99 100 LOCAL_SRC_FILES:= \ 101 GLES2/gl2.cpp.arm \ 102 # 103 104 LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL 105 LOCAL_MODULE:= libGLESv2 106 107 LOCAL_SHARED_LIBRARIES += libdl 108 # we need to access the private Bionic header <bionic_tls.h> 109 LOCAL_C_INCLUDES += bionic/libc/private 110 111 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 112 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 113 LOCAL_CFLAGS += -fvisibility=hidden 114 115 # Symlink libGLESv3.so -> libGLESv2.so 116 # Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps 117 # will be linked against libGLESv3.so. 118 # Note we defer the evaluation of the LOCAL_POST_INSTALL_CMD, 119 # so $(LOCAL_INSTALLED_MODULE) will be expanded to correct value, 120 # even for both 32-bit and 64-bit installed files in multilib build. 121 LOCAL_POST_INSTALL_CMD = \ 122 $(hide) ln -sf $(notdir $(LOCAL_INSTALLED_MODULE)) $(dir $(LOCAL_INSTALLED_MODULE))libGLESv3.so 123 124 include $(BUILD_SHARED_LIBRARY) 125 126 ############################################################################### 127 # Build the ETC1 host static library 128 # 129 130 include $(CLEAR_VARS) 131 132 LOCAL_SRC_FILES:= \ 133 ETC1/etc1.cpp \ 134 # 135 136 LOCAL_MODULE:= libETC1 137 138 include $(BUILD_HOST_STATIC_LIBRARY) 139 140 ############################################################################### 141 # Build the ETC1 device library 142 # 143 144 include $(CLEAR_VARS) 145 146 LOCAL_SRC_FILES:= \ 147 ETC1/etc1.cpp \ 148 # 149 150 LOCAL_MODULE:= libETC1 151 152 include $(BUILD_SHARED_LIBRARY) 153 154 include $(call all-makefiles-under,$(LOCAL_PATH)) 155