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