1# Copyright (C) 2013 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH := $(call my-dir) 16 17LIBELF_SRC_FILES := \ 18 elf32_checksum.c \ 19 elf32_fsize.c \ 20 elf32_getehdr.c \ 21 elf32_getphdr.c \ 22 elf32_getshdr.c \ 23 elf32_newehdr.c \ 24 elf32_newphdr.c \ 25 elf32_offscn.c \ 26 elf32_updatefile.c \ 27 elf32_updatenull.c \ 28 elf32_xlatetof.c \ 29 elf32_xlatetom.c \ 30 elf64_checksum.c \ 31 elf64_fsize.c \ 32 elf64_getehdr.c \ 33 elf64_getphdr.c \ 34 elf64_getshdr.c \ 35 elf64_newehdr.c \ 36 elf64_newphdr.c \ 37 elf64_offscn.c \ 38 elf64_updatefile.c \ 39 elf64_updatenull.c \ 40 elf64_xlatetof.c \ 41 elf64_xlatetom.c \ 42 elf_begin.c \ 43 elf_clone.c \ 44 elf_cntl.c \ 45 elf_end.c \ 46 elf_error.c \ 47 elf_fill.c \ 48 elf_flagdata.c \ 49 elf_flagehdr.c \ 50 elf_flagelf.c \ 51 elf_flagphdr.c \ 52 elf_flagscn.c \ 53 elf_flagshdr.c \ 54 elf_getarhdr.c \ 55 elf_getaroff.c \ 56 elf_getarsym.c \ 57 elf_getbase.c \ 58 elf_getdata.c \ 59 elf_getdata_rawchunk.c \ 60 elf_getident.c \ 61 elf_getphdrnum.c \ 62 elf_getscn.c \ 63 elf_getshdrnum.c \ 64 elf_getshdrstrndx.c \ 65 elf_gnu_hash.c \ 66 elf_hash.c \ 67 elf_kind.c \ 68 elf_memory.c \ 69 elf_ndxscn.c \ 70 elf_newdata.c \ 71 elf_newscn.c \ 72 elf_next.c \ 73 elf_nextscn.c \ 74 elf_rand.c \ 75 elf_rawdata.c \ 76 elf_rawfile.c \ 77 elf_readall.c \ 78 elf_scnshndx.c \ 79 elf_strptr.c \ 80 elf_update.c \ 81 elf_version.c \ 82 gelf_checksum.c \ 83 gelf_fsize.c \ 84 gelf_getauxv.c \ 85 gelf_getclass.c \ 86 gelf_getdyn.c \ 87 gelf_getehdr.c \ 88 gelf_getlib.c \ 89 gelf_getmove.c \ 90 gelf_getnote.c \ 91 gelf_getphdr.c \ 92 gelf_getrela.c \ 93 gelf_getrel.c \ 94 gelf_getshdr.c \ 95 gelf_getsym.c \ 96 gelf_getsyminfo.c \ 97 gelf_getsymshndx.c \ 98 gelf_getverdaux.c \ 99 gelf_getverdef.c \ 100 gelf_getvernaux.c \ 101 gelf_getverneed.c \ 102 gelf_getversym.c \ 103 gelf_newehdr.c \ 104 gelf_newphdr.c \ 105 gelf_offscn.c \ 106 gelf_update_auxv.c \ 107 gelf_update_dyn.c \ 108 gelf_update_ehdr.c \ 109 gelf_update_lib.c \ 110 gelf_update_move.c \ 111 gelf_update_phdr.c \ 112 gelf_update_rela.c \ 113 gelf_update_rel.c \ 114 gelf_update_shdr.c \ 115 gelf_update_sym.c \ 116 gelf_update_syminfo.c \ 117 gelf_update_symshndx.c \ 118 gelf_update_verdaux.c \ 119 gelf_update_verdef.c \ 120 gelf_update_vernaux.c \ 121 gelf_update_verneed.c \ 122 gelf_update_versym.c \ 123 gelf_xlate.c \ 124 gelf_xlatetof.c \ 125 gelf_xlatetom.c \ 126 libelf_crc32.c \ 127 libelf_next_prime.c \ 128 nlist.c 129 130ifeq ($(HOST_OS),linux) 131 132# 133# host libelf 134# 135 136include $(CLEAR_VARS) 137 138# Clang has no nested functions. 139LOCAL_CLANG := false 140 141LOCAL_SRC_FILES := $(LIBELF_SRC_FILES) 142 143LOCAL_C_INCLUDES := \ 144 $(LOCAL_PATH)/.. \ 145 $(LOCAL_PATH)/../lib \ 146 147LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE 148 149# to suppress the "pointer of type ‘void *’ used in arithmetic" warning 150LOCAL_CFLAGS += -Wno-pointer-arith 151 152LOCAL_MODULE := libelf 153 154LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 155 156include $(BUILD_HOST_STATIC_LIBRARY) 157 158endif # linux 159 160# 161# target libelf 162# 163 164include $(CLEAR_VARS) 165 166# Clang has no nested functions. 167LOCAL_CLANG := false 168 169LOCAL_SRC_FILES := $(LIBELF_SRC_FILES) 170 171LOCAL_C_INCLUDES := \ 172 $(LOCAL_PATH)/.. \ 173 $(LOCAL_PATH)/../lib \ 174 175LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../bionic-fixup 176 177LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 178 179# to suppress the "pointer of type ‘void *’ used in arithmetic" warning 180LOCAL_CFLAGS += -Wno-pointer-arith 181 182LOCAL_CFLAGS += -include $(LOCAL_PATH)/../../bionic-fixup/AndroidFixup.h 183 184LOCAL_MODULE := libelf 185 186LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 187 188include $(BUILD_STATIC_LIBRARY) 189