Android.mk revision 5bf6f3b5bf06e04a742bde8d40409d3c9e434c05
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/getProcAddress.cpp.arm \ 31 EGL/Loader.cpp \ 32# 33 34LOCAL_SHARED_LIBRARIES += libcutils libutils liblog 35LOCAL_MODULE:= libEGL 36LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL 37LOCAL_SHARED_LIBRARIES += libdl 38# we need to access the private Bionic header <bionic_tls.h> 39LOCAL_C_INCLUDES += bionic/libc/private 40 41LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 42LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 43LOCAL_CFLAGS += -fvisibility=hidden 44 45ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) 46 LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION 47endif 48ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) 49 LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) 50endif 51 52ifneq ($(MAX_EGL_CACHE_KEY_SIZE),) 53 LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) 54endif 55 56ifneq ($(MAX_EGL_CACHE_SIZE),) 57 LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) 58endif 59 60ifneq ($(filter address,$(SANITIZE_TARGET)),) 61 LOCAL_CFLAGS_32 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib\" 62 LOCAL_CFLAGS_64 += -DEGL_WRAPPER_DIR=\"/$(TARGET_COPY_OUT_DATA)/lib64\" 63endif 64 65LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) 66egl.cfg_config_module := 67 68include $(BUILD_SHARED_LIBRARY) 69 70############################################################################### 71# Build the wrapper OpenGL ES 1.x library 72# 73 74include $(CLEAR_VARS) 75 76LOCAL_SRC_FILES:= \ 77 GLES_CM/gl.cpp.arm \ 78# 79 80LOCAL_CLANG := false 81LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL 82LOCAL_MODULE:= libGLESv1_CM 83 84LOCAL_SHARED_LIBRARIES += libdl 85# we need to access the private Bionic header <bionic_tls.h> 86LOCAL_C_INCLUDES += bionic/libc/private 87 88LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 89LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 90LOCAL_CFLAGS += -fvisibility=hidden 91 92# TODO: This is to work around b/20093774. Remove after root cause is fixed 93LOCAL_LDFLAGS_arm += -Wl,--hash-style,both 94 95include $(BUILD_SHARED_LIBRARY) 96 97 98############################################################################### 99# Build the wrapper OpenGL ES 2.x library 100# 101 102include $(CLEAR_VARS) 103 104LOCAL_SRC_FILES:= \ 105 GLES2/gl2.cpp.arm \ 106# 107 108LOCAL_CLANG := false 109LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL 110LOCAL_MODULE:= libGLESv2 111 112LOCAL_SHARED_LIBRARIES += libdl 113# we need to access the private Bionic header <bionic_tls.h> 114LOCAL_C_INCLUDES += bionic/libc/private 115 116LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 117LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 118LOCAL_CFLAGS += -fvisibility=hidden 119 120# TODO: This is to work around b/20093774. Remove after root cause is fixed 121LOCAL_LDFLAGS_arm += -Wl,--hash-style,both 122 123# Symlink libGLESv3.so -> libGLESv2.so 124# Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps 125# will be linked against libGLESv3.so. 126# Note we defer the evaluation of the LOCAL_POST_INSTALL_CMD, 127# so $(LOCAL_INSTALLED_MODULE) will be expanded to correct value, 128# even for both 32-bit and 64-bit installed files in multilib build. 129LOCAL_POST_INSTALL_CMD = \ 130 $(hide) ln -sf $(notdir $(LOCAL_INSTALLED_MODULE)) $(dir $(LOCAL_INSTALLED_MODULE))libGLESv3.so 131 132include $(BUILD_SHARED_LIBRARY) 133 134############################################################################### 135# Build the ETC1 host static library 136# 137 138include $(CLEAR_VARS) 139 140LOCAL_SRC_FILES:= \ 141 ETC1/etc1.cpp \ 142# 143 144LOCAL_MODULE:= libETC1 145LOCAL_MODULE_HOST_OS := darwin linux windows 146 147include $(BUILD_HOST_STATIC_LIBRARY) 148 149############################################################################### 150# Build the ETC1 device library 151# 152 153include $(CLEAR_VARS) 154 155LOCAL_SRC_FILES:= \ 156 ETC1/etc1.cpp \ 157# 158 159LOCAL_MODULE:= libETC1 160 161include $(BUILD_SHARED_LIBRARY) 162 163include $(call all-makefiles-under,$(LOCAL_PATH)) 164