| LOCAL_PATH:= $(call my-dir) | 
 |  | 
 | # | 
 | # Build the software OpenGL ES library | 
 | # | 
 |  | 
 | include $(CLEAR_VARS) | 
 |  | 
 | LOCAL_SRC_FILES:= \ | 
 | 	egl.cpp                     \ | 
 | 	state.cpp		            \ | 
 | 	texture.cpp		            \ | 
 |     Tokenizer.cpp               \ | 
 |     TokenManager.cpp            \ | 
 |     TextureObjectManager.cpp    \ | 
 |     BufferObjectManager.cpp     \ | 
 | 	array.cpp.arm		        \ | 
 | 	fp.cpp.arm		            \ | 
 | 	light.cpp.arm		        \ | 
 | 	matrix.cpp.arm		        \ | 
 | 	mipmap.cpp.arm		        \ | 
 | 	primitives.cpp.arm	        \ | 
 | 	vertex.cpp.arm | 
 |  | 
 | LOCAL_CFLAGS += -DLOG_TAG=\"libagl\" | 
 | LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES | 
 | LOCAL_CFLAGS += -fvisibility=hidden | 
 |  | 
 | LOCAL_SHARED_LIBRARIES := libcutils libhardware libutils libpixelflinger libETC1 | 
 | LOCAL_LDLIBS := -lpthread -ldl | 
 |  | 
 | ifeq ($(TARGET_ARCH),arm) | 
 | 	LOCAL_SRC_FILES += fixed_asm.S iterators.S | 
 | 	LOCAL_CFLAGS += -fstrict-aliasing | 
 | endif | 
 |  | 
 | ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) | 
 |     LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER | 
 | endif | 
 |  | 
 | ifneq ($(TARGET_SIMULATOR),true) | 
 |     # we need to access the private Bionic header <bionic_tls.h> | 
 |     # on ARM platforms, we need to mirror the ARCH_ARM_HAVE_TLS_REGISTER | 
 |     # behavior from the bionic Android.mk file | 
 |     ifeq ($(TARGET_ARCH)-$(ARCH_ARM_HAVE_TLS_REGISTER),arm-true) | 
 |         LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER | 
 |     endif | 
 |     LOCAL_C_INCLUDES += bionic/libc/private | 
 | endif | 
 |  | 
 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl | 
 | LOCAL_MODULE:= libGLES_android | 
 |  | 
 | include $(BUILD_SHARED_LIBRARY) |