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_LDLIBS := -lpthread -ldl 37 LOCAL_MODULE:= libEGL 38 LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL 39 LOCAL_SHARED_LIBRARIES += libdl 40 # we need to access the private Bionic header <bionic_tls.h> 41 LOCAL_C_INCLUDES += bionic/libc/private 42 43 LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 44 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 45 LOCAL_CFLAGS += -fvisibility=hidden 46 LOCAL_CFLAGS += -DEGL_TRACE=1 47 48 ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) 49 LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION 50 endif 51 ifeq ($(TARGET_BOARD_PLATFORM), omap4) 52 LOCAL_CFLAGS += -DWORKAROUND_BUG_10194508=1 53 endif 54 ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) 55 LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) 56 endif 57 58 ifneq ($(MAX_EGL_CACHE_KEY_SIZE),) 59 LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) 60 endif 61 62 ifneq ($(MAX_EGL_CACHE_SIZE),) 63 LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) 64 endif 65 66 LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) 67 egl.cfg_config_module := 68 69 include $(BUILD_SHARED_LIBRARY) 70 71 ############################################################################### 72 # Build the wrapper OpenGL ES 1.x library 73 # 74 75 include $(CLEAR_VARS) 76 77 LOCAL_SRC_FILES:= \ 78 GLES_CM/gl.cpp.arm \ 79 # 80 81 LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL 82 LOCAL_LDLIBS := -lpthread -ldl 83 LOCAL_MODULE:= libGLESv1_CM 84 85 LOCAL_SHARED_LIBRARIES += libdl 86 # we need to access the private Bionic header <bionic_tls.h> 87 LOCAL_C_INCLUDES += bionic/libc/private 88 89 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 90 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 91 LOCAL_CFLAGS += -fvisibility=hidden 92 93 include $(BUILD_SHARED_LIBRARY) 94 95 96 ############################################################################### 97 # Build the wrapper OpenGL ES 2.x library 98 # 99 100 include $(CLEAR_VARS) 101 102 LOCAL_SRC_FILES:= \ 103 GLES2/gl2.cpp.arm \ 104 # 105 106 LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL 107 LOCAL_LDLIBS := -lpthread -ldl 108 LOCAL_MODULE:= libGLESv2 109 110 LOCAL_SHARED_LIBRARIES += libdl 111 # we need to access the private Bionic header <bionic_tls.h> 112 LOCAL_C_INCLUDES += bionic/libc/private 113 114 LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 115 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 116 LOCAL_CFLAGS += -fvisibility=hidden 117 118 include $(BUILD_SHARED_LIBRARY) 119 120 # Symlink libGLESv3.so -> libGLESv2.so 121 # Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps 122 # will be linked against libGLESv3.so. 123 LIBGLESV2 := $(LOCAL_INSTALLED_MODULE) 124 LIBGLESV3 := $(subst libGLESv2,libGLESv3,$(LIBGLESV2)) 125 $(LIBGLESV3): $(LIBGLESV2) 126 @echo "Symlink: $@ -> $(notdir $<)" 127 @mkdir -p $(dir $@) 128 $(hide) ln -sf $(notdir $<) $@ 129 ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 130 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(LIBGLESV3) 131 LIBGLESV2 := 132 LIBGLESV3 := 133 134 ############################################################################### 135 # Build the ETC1 host static library 136 # 137 138 include $(CLEAR_VARS) 139 140 LOCAL_SRC_FILES:= \ 141 ETC1/etc1.cpp \ 142 # 143 144 LOCAL_LDLIBS := -lpthread -ldl 145 LOCAL_MODULE:= libETC1 146 147 include $(BUILD_HOST_STATIC_LIBRARY) 148 149 ############################################################################### 150 # Build the ETC1 device library 151 # 152 153 include $(CLEAR_VARS) 154 155 LOCAL_SRC_FILES:= \ 156 ETC1/etc1.cpp \ 157 # 158 159 LOCAL_LDLIBS := -lpthread -ldl 160 LOCAL_MODULE:= libETC1 161 162 include $(BUILD_SHARED_LIBRARY) 163 164 include $(call all-makefiles-under,$(LOCAL_PATH)) 165