Android.mk revision f4486c6ea4bcb728ee0f38df7a8ec75c389d9d2e
1edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_PATH:= $(call my-dir) 2edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 3b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian############################################################################### 4edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project# Build META EGL library 5edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project# 6edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 7ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wangegl.cfg_config_module := 8ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wang# OpenGL drivers config file 9ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wangifneq ($(BOARD_EGL_CFG),) 10ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wang 11ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wanginclude $(CLEAR_VARS) 12ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing WangLOCAL_MODULE := egl.cfg 13ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing WangLOCAL_MODULE_TAGS := optional 14ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing WangLOCAL_MODULE_CLASS := ETC 15ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing WangLOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl 16ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing WangLOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG) 17ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wanginclude $(BUILD_PREBUILT) 18ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wangegl.cfg_config_module := $(LOCAL_MODULE) 19ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wangendif 20ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wang 21edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS) 22edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 2324035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias AgopianLOCAL_SRC_FILES:= \ 24518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian EGL/egl_tls.cpp \ 25aca51c06f38155f1435fbc6944d7fc0a9bf1e4e9Jamie Gennis EGL/egl_cache.cpp \ 26518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian EGL/egl_display.cpp \ 27518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian EGL/egl_object.cpp \ 2824035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias Agopian EGL/egl.cpp \ 29518ec112f468eb67bf681b3eec896d7bfb4ff98dMathias Agopian EGL/eglApi.cpp \ 30a2dd6cf59962e3a21a47df29b2f243e904839ba7Jack Palevich EGL/trace.cpp \ 3124035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias Agopian EGL/getProcAddress.cpp.arm \ 3224035338ed6329e4d85fb00cf99a91e2cdd55ba5Mathias Agopian EGL/Loader.cpp \ 33edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project# 34864f839e969ba3417d82ab3ff7906b2f69afa900David Li 358a0cb4ee0b6c351de82987efb472fa38dfaf608aYing WangLOCAL_SHARED_LIBRARIES += libcutils libutils liblog libGLES_trace 36edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl 37edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_MODULE:= libEGL 38b33d5cff62c912fb0312daca083002558fb4a26bDavid LiLOCAL_LDFLAGS += -Wl,--exclude-libs=ALL 39baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl 40baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h> 41baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private 42edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 43076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 44076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 4548685c45bb333c3564596158e2e67267110c9277Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden 46a2dd6cf59962e3a21a47df29b2f243e904839ba7Jack PalevichLOCAL_CFLAGS += -DEGL_TRACE=1 47076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias Agopian 48201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hallifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) 49201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hall LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION 50201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hallendif 51201f3b2da572eb27b9d4b3131e6d8c3c92a13de8Jesse Hall 52a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopianifeq ($(TARGET_BOARD_PLATFORM),msm7k) 53d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopian LOCAL_CFLAGS += -DADRENO130=1 54d75f84d6410da934d1b1760fdc0d05d4ba1e8f35Mathias Agopianendif 55f4486c6ea4bcb728ee0f38df7a8ec75c389d9d2eMathias Agopianifeq ($(TARGET_BOARD_PLATFORM), omap4) 56f4486c6ea4bcb728ee0f38df7a8ec75c389d9d2eMathias Agopian LOCAL_CFLAGS += -DWORKAROUND_BUG_10194508=1 57a69e0ed4a38ded9778d37da453899d527c4396b9Mathias Agopianendif 5889c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) 5989c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) 6089c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisendif 6189c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis 62f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennisifneq ($(MAX_EGL_CACHE_KEY_SIZE),) 63f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennis LOCAL_CFLAGS += -DMAX_EGL_CACHE_KEY_SIZE=$(MAX_EGL_CACHE_KEY_SIZE) 64f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennisendif 65f478e6d18cb9eba1ded1f124ce16a899d271689eJamie Gennis 6689c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisifneq ($(MAX_EGL_CACHE_SIZE),) 6789c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE) 6889c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennisendif 6989c1d61c16c786ecfd258a43fed24bcf8f8456edJamie Gennis 70ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing WangLOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) 71ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wangegl.cfg_config_module := 72edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 73ac0de62ba3f86400f08c3791ba56b6cb057e1dfaYing Wanginclude $(BUILD_SHARED_LIBRARY) 74edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 75b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian############################################################################### 76b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 1.x library 77edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project# 78edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 79edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS) 80edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 81b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= \ 82b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian GLES_CM/gl.cpp.arm \ 83edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project# 84edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 858a0cb4ee0b6c351de82987efb472fa38dfaf608aYing WangLOCAL_SHARED_LIBRARIES += libcutils liblog libEGL 86edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl 87edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_MODULE:= libGLESv1_CM 88edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 89baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl 90baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h> 91baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private 92edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 93076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 94076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 9548685c45bb333c3564596158e2e67267110c9277Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden 96076b1cc3a9b90aa5b381a1ed268ca0b548444c9bMathias Agopian 97edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY) 98b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 99b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 100b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian############################################################################### 101b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# Build the wrapper OpenGL ES 2.x library 102b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# 103b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 104b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(CLEAR_VARS) 105b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 106b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_SRC_FILES:= \ 107b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian GLES2/gl2.cpp.arm \ 108b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian# 109b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 1108a0cb4ee0b6c351de82987efb472fa38dfaf608aYing WangLOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL 111b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_LDLIBS := -lpthread -ldl 112b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_MODULE:= libGLESv2 113b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 114baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_SHARED_LIBRARIES += libdl 115baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff Brown# we need to access the private Bionic header <bionic_tls.h> 116baa44b89ec159fd65230cbb8ebab62d63a513b0bJeff BrownLOCAL_C_INCLUDES += bionic/libc/private 117b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 118b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 119b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 120b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden 121b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian 122b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopianinclude $(BUILD_SHARED_LIBRARY) 12301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 1245ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall# Symlink libGLESv3.so -> libGLESv2.so 1255ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall# Platform modules should link against libGLESv2.so (-lGLESv2), but NDK apps 1265ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall# will be linked against libGLESv3.so. 1275ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse HallLIBGLESV2 := $(LOCAL_INSTALLED_MODULE) 1285ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse HallLIBGLESV3 := $(subst libGLESv2,libGLESv3,$(LIBGLESV2)) 1295ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall$(LIBGLESV3): $(LIBGLESV2) 1305ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall @echo "Symlink: $@ -> $(notdir $<)" 1315ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall @mkdir -p $(dir $@) 1325ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall $(hide) ln -sf $(notdir $<) $@ 1335ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse HallALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 1345ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(LIBGLESV3) 1355ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse HallLIBGLESV2 := 1365ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse HallLIBGLESV3 := 1375ea4c7305850ad4003d314597f4a8255b5b45ba4Jesse Hall 13801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich############################################################################### 13901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 host static library 14001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# 14101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 14201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS) 14301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 14401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= \ 14501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich ETC1/etc1.cpp \ 14601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# 14701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 14801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl 14901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1 15001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 15101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_HOST_STATIC_LIBRARY) 15201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 15301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich############################################################################### 15401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# Build the ETC1 device library 15501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# 15601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 15701cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(CLEAR_VARS) 15801cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 15901cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_SRC_FILES:= \ 16001cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich ETC1/etc1.cpp \ 16101cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich# 16201cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 16301cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_LDLIBS := -lpthread -ldl 16401cc538b290ecc9ccfdf1907fb714b76cf0f648bJack PalevichLOCAL_MODULE:= libETC1 16501cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevich 16601cc538b290ecc9ccfdf1907fb714b76cf0f648bJack Palevichinclude $(BUILD_SHARED_LIBRARY) 1672f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Li 1682f5a6557ef6a7b9fd33077cfd8a037904d41e3bdDavid Liinclude $(call all-makefiles-under,$(LOCAL_PATH)) 169