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_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