LOCAL_PATH:= $(call my-dir) ############################################################################### # Build META EGL library # egl.cfg_config_module := # OpenGL drivers config file ifneq ($(BOARD_EGL_CFG),) include $(CLEAR_VARS) LOCAL_MODULE := egl.cfg LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl LOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG) include $(BUILD_PREBUILT) egl.cfg_config_module := $(LOCAL_MODULE) endif include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ EGL/egl_tls.cpp \ EGL/egl_cache.cpp \ EGL/egl_display.cpp \ EGL/egl_object.cpp \ EGL/egl.cpp \ EGL/eglApi.cpp \ EGL/trace.cpp \ EGL/getProcAddress.cpp.arm \ EGL/Loader.cpp \ # LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libGLES_trace LOCAL_MODULE:= libEGL LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL LOCAL_SHARED_LIBRARIES += libdl # we need to access the private Bionic header LOCAL_C_INCLUDES += bionic/libc/private LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES LOCAL_CFLAGS += -fvisibility=hidden LOCAL_CFLAGS += -DEGL_TRACE=1 ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION endif ifeq ($(TARGET_BOARD_PLATFORM), omap4) LOCAL_CFLAGS += -DWORKAROUND_BUG_10194508=1 endif ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) endif ifneq ($(MAX_EGL_CACHE_KEY_SIZE),) LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) endif ifneq ($(MAX_EGL_CACHE_SIZE),) LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) endif LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) egl.cfg_config_module := include $(BUILD_SHARED_LIBRARY) ############################################################################### # Build the wrapper OpenGL ES 1.x library # include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ GLES_CM/gl.cpp.arm \ # LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL LOCAL_MODULE:= libGLESv1_CM LOCAL_SHARED_LIBRARIES += libdl # we need to access the private Bionic header LOCAL_C_INCLUDES += bionic/libc/private LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES LOCAL_CFLAGS += -fvisibility=hidden include $(BUILD_SHARED_LIBRARY) ############################################################################### # Build the wrapper OpenGL ES 2.x library # include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ GLES2/gl2.cpp.arm \ # LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL LOCAL_MODULE:= libGLESv2 LOCAL_SHARED_LIBRARIES += libdl # we need to access the private Bionic header LOCAL_C_INCLUDES += bionic/libc/private LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES LOCAL_CFLAGS += -fvisibility=hidden include $(BUILD_SHARED_LIBRARY) # Symlink libGLESv3.so -> libGLESv2.so # Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps # will be linked against libGLESv3.so. LIBGLESV2 := $(LOCAL_INSTALLED_MODULE) LIBGLESV3 := $(subst libGLESv2,libGLESv3,$(LIBGLESV2)) $(LIBGLESV3): $(LIBGLESV2) @echo "Symlink: $@ -> $(notdir $<)" @mkdir -p $(dir $@) $(hide) ln -sf $(notdir $<) $@ ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(LIBGLESV3) LIBGLESV2 := LIBGLESV3 := ############################################################################### # Build the ETC1 host static library # include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ ETC1/etc1.cpp \ # LOCAL_MODULE:= libETC1 include $(BUILD_HOST_STATIC_LIBRARY) ############################################################################### # Build the ETC1 device library # include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ ETC1/etc1.cpp \ # LOCAL_MODULE:= libETC1 include $(BUILD_SHARED_LIBRARY) include $(call all-makefiles-under,$(LOCAL_PATH))