Android.mk revision 5ea4c7305850ad4003d314597f4a8255b5b45ba4
1LOCAL_PATH:= $(call my-dir) 2 3############################################################################### 4# Build META EGL library 5# 6 7egl.cfg_config_module := 8# OpenGL drivers config file 9ifneq ($(BOARD_EGL_CFG),) 10 11include $(CLEAR_VARS) 12LOCAL_MODULE := egl.cfg 13LOCAL_MODULE_TAGS := optional 14LOCAL_MODULE_CLASS := ETC 15LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl 16LOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG) 17include $(BUILD_PREBUILT) 18egl.cfg_config_module := $(LOCAL_MODULE) 19endif 20 21include $(CLEAR_VARS) 22 23LOCAL_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 35LOCAL_SHARED_LIBRARIES += libcutils libutils libGLES_trace 36LOCAL_LDLIBS := -lpthread -ldl 37LOCAL_MODULE:= libEGL 38LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL 39LOCAL_SHARED_LIBRARIES += libdl 40# Bionic's private TLS header relies on the ARCH_ARM_HAVE_TLS_REGISTER to 41# select the appropriate TLS codepath 42ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 43 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 44endif 45# we need to access the private Bionic header <bionic_tls.h> 46LOCAL_C_INCLUDES += bionic/libc/private 47 48LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 49LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 50LOCAL_CFLAGS += -fvisibility=hidden 51LOCAL_CFLAGS += -DEGL_TRACE=1 52 53ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) 54 LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION 55endif 56 57ifeq ($(TARGET_BOARD_PLATFORM),msm7k) 58 LOCAL_CFLAGS += -DADRENO130=1 59endif 60 61ifeq ($(TARGET_BOARD_PLATFORM), s5pc110) 62 # see Loader.cpp for details 63 LOCAL_CFLAGS += -DSYSTEMUI_PBSIZE_HACK=1 64endif 65 66ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 67 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 68endif 69 70ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) 71 LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) 72endif 73 74ifneq ($(MAX_EGL_CACHE_KEY_SIZE),) 75 LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) 76endif 77 78ifneq ($(MAX_EGL_CACHE_SIZE),) 79 LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) 80endif 81 82LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) 83egl.cfg_config_module := 84 85include $(BUILD_SHARED_LIBRARY) 86 87############################################################################### 88# Build the wrapper OpenGL ES 1.x library 89# 90 91include $(CLEAR_VARS) 92 93LOCAL_SRC_FILES:= \ 94 GLES_CM/gl.cpp.arm \ 95# 96 97LOCAL_SHARED_LIBRARIES += libcutils libEGL 98LOCAL_LDLIBS := -lpthread -ldl 99LOCAL_MODULE:= libGLESv1_CM 100 101LOCAL_SHARED_LIBRARIES += libdl 102# we need to access the private Bionic header <bionic_tls.h> 103ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 104 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 105endif 106LOCAL_C_INCLUDES += bionic/libc/private 107 108LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 109LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 110LOCAL_CFLAGS += -fvisibility=hidden 111 112ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 113 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 114endif 115 116include $(BUILD_SHARED_LIBRARY) 117 118 119############################################################################### 120# Build the wrapper OpenGL ES 2.x library 121# 122 123include $(CLEAR_VARS) 124 125LOCAL_SRC_FILES:= \ 126 GLES2/gl2.cpp.arm \ 127# 128 129LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL 130LOCAL_LDLIBS := -lpthread -ldl 131LOCAL_MODULE:= libGLESv2 132 133LOCAL_SHARED_LIBRARIES += libdl 134# we need to access the private Bionic header <bionic_tls.h> 135ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 136 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 137endif 138LOCAL_C_INCLUDES += bionic/libc/private 139 140LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 141LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 142LOCAL_CFLAGS += -fvisibility=hidden 143 144ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 145 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 146endif 147 148include $(BUILD_SHARED_LIBRARY) 149 150# Symlink libGLESv3.so -> libGLESv2.so 151# Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps 152# will be linked against libGLESv3.so. 153LIBGLESV2 := $(LOCAL_INSTALLED_MODULE) 154LIBGLESV3 := $(subst libGLESv2,libGLESv3,$(LIBGLESV2)) 155$(LIBGLESV3): $(LIBGLESV2) 156 @echo "Symlink: $@ -> $(notdir $<)" 157 @mkdir -p $(dir $@) 158 $(hide) ln -sf $(notdir $<) $@ 159ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 160 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(LIBGLESV3) 161LIBGLESV2 := 162LIBGLESV3 := 163 164############################################################################### 165# Build the ETC1 host static library 166# 167 168include $(CLEAR_VARS) 169 170LOCAL_SRC_FILES:= \ 171 ETC1/etc1.cpp \ 172# 173 174LOCAL_LDLIBS := -lpthread -ldl 175LOCAL_MODULE:= libETC1 176 177include $(BUILD_HOST_STATIC_LIBRARY) 178 179############################################################################### 180# Build the ETC1 device library 181# 182 183include $(CLEAR_VARS) 184 185LOCAL_SRC_FILES:= \ 186 ETC1/etc1.cpp \ 187# 188 189LOCAL_LDLIBS := -lpthread -ldl 190LOCAL_MODULE:= libETC1 191 192include $(BUILD_SHARED_LIBRARY) 193 194include $(call all-makefiles-under,$(LOCAL_PATH)) 195