Home | History | Annotate | Download | only in libs
      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