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