1 LOCAL_PATH:= $(call my-dir) 2 3 # 4 # Build the software OpenGL ES library 5 # 6 7 include $(CLEAR_VARS) 8 9 # Set to 1 to use gralloc and copybits 10 LIBAGL_USE_GRALLOC_COPYBITS := 1 11 12 LOCAL_SRC_FILES:= \ 13 egl.cpp \ 14 state.cpp \ 15 texture.cpp \ 16 Tokenizer.cpp \ 17 TokenManager.cpp \ 18 TextureObjectManager.cpp \ 19 BufferObjectManager.cpp \ 20 array.cpp.arm \ 21 fp.cpp.arm \ 22 light.cpp.arm \ 23 matrix.cpp.arm \ 24 mipmap.cpp.arm \ 25 primitives.cpp.arm \ 26 vertex.cpp.arm 27 28 LOCAL_CFLAGS += -DLOG_TAG=\"libagl\" 29 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 30 LOCAL_CFLAGS += -fvisibility=hidden 31 32 LOCAL_SHARED_LIBRARIES := libcutils libhardware libutils libpixelflinger libETC1 33 LOCAL_LDLIBS := -lpthread -ldl 34 35 ifeq ($(TARGET_ARCH),arm) 36 LOCAL_SRC_FILES += fixed_asm.S iterators.S 37 LOCAL_CFLAGS += -fstrict-aliasing 38 endif 39 40 ifneq ($(TARGET_SIMULATOR),true) 41 # we need to access the private Bionic header <bionic_tls.h> 42 # on ARM platforms, we need to mirror the ARCH_ARM_HAVE_TLS_REGISTER 43 # behavior from the bionic Android.mk file 44 ifeq ($(TARGET_ARCH)-$(ARCH_ARM_HAVE_TLS_REGISTER),arm-true) 45 LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 46 endif 47 LOCAL_C_INCLUDES += bionic/libc/private 48 endif 49 50 ifeq ($(LIBAGL_USE_GRALLOC_COPYBITS),1) 51 LOCAL_CFLAGS += -DLIBAGL_USE_GRALLOC_COPYBITS 52 LOCAL_SRC_FILES += copybit.cpp 53 LOCAL_SHARED_LIBRARIES += libui 54 endif 55 56 57 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl 58 LOCAL_MODULE:= libGLES_android 59 60 include $(BUILD_SHARED_LIBRARY) 61