1164190Sjkoshy# $FreeBSD$ 2164190Sjkoshy 3164190SjkoshyLIB= elf 4164190Sjkoshy 5164190SjkoshySRCS= elf_begin.c \ 6164190Sjkoshy elf_cntl.c \ 7164190Sjkoshy elf_end.c elf_errmsg.c elf_errno.c \ 8164190Sjkoshy elf_data.c \ 9164190Sjkoshy elf_fill.c \ 10164190Sjkoshy elf_flag.c \ 11164190Sjkoshy elf_getarhdr.c \ 12164190Sjkoshy elf_getarsym.c \ 13164190Sjkoshy elf_getbase.c \ 14164190Sjkoshy elf_getident.c \ 15164190Sjkoshy elf_hash.c \ 16164190Sjkoshy elf_kind.c \ 17164190Sjkoshy elf_memory.c \ 18164190Sjkoshy elf_next.c \ 19164190Sjkoshy elf_rand.c \ 20164190Sjkoshy elf_rawfile.c \ 21165535Sjkoshy elf_phnum.c \ 22164190Sjkoshy elf_shnum.c \ 23164190Sjkoshy elf_shstrndx.c \ 24164190Sjkoshy elf_scn.c \ 25164190Sjkoshy elf_strptr.c \ 26164190Sjkoshy elf_update.c \ 27164190Sjkoshy elf_version.c \ 28165317Sjkoshy gelf_cap.c \ 29164190Sjkoshy gelf_checksum.c \ 30164190Sjkoshy gelf_dyn.c \ 31164190Sjkoshy gelf_ehdr.c \ 32165317Sjkoshy gelf_getclass.c \ 33165317Sjkoshy gelf_fsize.c \ 34165317Sjkoshy gelf_move.c \ 35164190Sjkoshy gelf_phdr.c \ 36164190Sjkoshy gelf_rel.c \ 37164190Sjkoshy gelf_rela.c \ 38164190Sjkoshy gelf_shdr.c \ 39164190Sjkoshy gelf_sym.c \ 40165317Sjkoshy gelf_syminfo.c \ 41164190Sjkoshy gelf_symshndx.c \ 42164190Sjkoshy gelf_xlate.c \ 43164190Sjkoshy libelf.c \ 44164190Sjkoshy libelf_align.c \ 45164190Sjkoshy libelf_allocate.c \ 46164190Sjkoshy libelf_ar.c \ 47210348Skaiw libelf_ar_util.c \ 48164190Sjkoshy libelf_checksum.c \ 49164190Sjkoshy libelf_data.c \ 50164190Sjkoshy libelf_ehdr.c \ 51165535Sjkoshy libelf_extended.c \ 52164190Sjkoshy libelf_phdr.c \ 53164190Sjkoshy libelf_shdr.c \ 54164225Sjkoshy libelf_xlate.c \ 55164225Sjkoshy ${GENSRCS} 56164190SjkoshyINCS= libelf.h gelf.h 57164190Sjkoshy 58237528Sandrew# 59237528Sandrew# We need to link against the correct version of these files. One 60237528Sandrew# solution is to include ../../sys in the include path. This causes 61237528Sandrew# problems when a header file in sys depends on a file in another 62237528Sandrew# part of the tree, e.g. a machine dependent header. 63237528Sandrew# 64237528SandrewSRCS+= sys/elf32.h sys/elf64.h sys/elf_common.h 65237528Sandrew 66164577SruGENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c 67164577SruCLEANFILES= ${GENSRCS} 68237531SandrewCLEANDIRS= sys 69237528SandrewCFLAGS+= -I${.CURDIR} -I. 70164190Sjkoshy 71238741Sachesys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} 72238741Sache mkdir -p ${.OBJDIR}/sys 73237528Sandrew ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} 74237528Sandrew 75164190SjkoshySHLIB_MAJOR= 1 76164190Sjkoshy 77164190SjkoshyMAN= elf.3 \ 78164190Sjkoshy elf_begin.3 \ 79164190Sjkoshy elf_cntl.3 \ 80210345Skaiw elf_end.3 \ 81210345Skaiw elf_errmsg.3 \ 82164190Sjkoshy elf_fill.3 \ 83164190Sjkoshy elf_flagdata.3 \ 84164190Sjkoshy elf_getarhdr.3 \ 85164190Sjkoshy elf_getarsym.3 \ 86164190Sjkoshy elf_getbase.3 \ 87164190Sjkoshy elf_getdata.3 \ 88164190Sjkoshy elf_getident.3 \ 89164190Sjkoshy elf_getscn.3 \ 90210345Skaiw elf_getphdrnum.3 \ 91165535Sjkoshy elf_getphnum.3 \ 92210345Skaiw elf_getshdrnum.3 \ 93164190Sjkoshy elf_getshnum.3 \ 94210345Skaiw elf_getshdrstrndx.3 \ 95164190Sjkoshy elf_getshstrndx.3 \ 96164190Sjkoshy elf_hash.3 \ 97164190Sjkoshy elf_kind.3 \ 98164190Sjkoshy elf_memory.3 \ 99164190Sjkoshy elf_next.3 \ 100164190Sjkoshy elf_rawfile.3 \ 101164190Sjkoshy elf_rand.3 \ 102164190Sjkoshy elf_strptr.3 \ 103164190Sjkoshy elf_update.3 \ 104164190Sjkoshy elf_version.3 \ 105164190Sjkoshy gelf.3 \ 106164190Sjkoshy gelf_checksum.3 \ 107164190Sjkoshy gelf_fsize.3 \ 108164190Sjkoshy gelf_getcap.3 \ 109164190Sjkoshy gelf_getclass.3 \ 110164190Sjkoshy gelf_getdyn.3 \ 111164190Sjkoshy gelf_getehdr.3 \ 112164190Sjkoshy gelf_getmove.3 \ 113164190Sjkoshy gelf_getphdr.3 \ 114164190Sjkoshy gelf_getrel.3 \ 115164190Sjkoshy gelf_getrela.3 \ 116164190Sjkoshy gelf_getshdr.3 \ 117164190Sjkoshy gelf_getsym.3 \ 118164190Sjkoshy gelf_getsyminfo.3 \ 119164190Sjkoshy gelf_getsymshndx.3 \ 120164190Sjkoshy gelf_newehdr.3 \ 121164190Sjkoshy gelf_newphdr.3 \ 122164190Sjkoshy gelf_update_ehdr.3 \ 123164190Sjkoshy gelf_xlatetof.3 124164190Sjkoshy 125164190SjkoshyMLINKS+= \ 126164190Sjkoshy elf_errmsg.3 elf_errno.3 \ 127164190Sjkoshy elf_flagdata.3 elf_flagehdr.3 \ 128164190Sjkoshy elf_flagdata.3 elf_flagelf.3 \ 129164190Sjkoshy elf_flagdata.3 elf_flagphdr.3 \ 130164190Sjkoshy elf_flagdata.3 elf_flagscn.3 \ 131164190Sjkoshy elf_flagdata.3 elf_flagshdr.3 \ 132164190Sjkoshy elf_getdata.3 elf_newdata.3 \ 133164190Sjkoshy elf_getdata.3 elf_rawdata.3 \ 134164190Sjkoshy elf_getscn.3 elf_ndxscn.3 \ 135164190Sjkoshy elf_getscn.3 elf_newscn.3 \ 136164190Sjkoshy elf_getscn.3 elf_nextscn.3 \ 137164190Sjkoshy elf_getshstrndx.3 elf_setshstrndx.3 \ 138164190Sjkoshy gelf_getcap.3 gelf_update_cap.3 \ 139164190Sjkoshy gelf_getdyn.3 gelf_update_dyn.3 \ 140164190Sjkoshy gelf_getmove.3 gelf_update_move.3 \ 141164190Sjkoshy gelf_getrel.3 gelf_update_rel.3 \ 142164190Sjkoshy gelf_getrela.3 gelf_update_rela.3 \ 143164190Sjkoshy gelf_getsym.3 gelf_update_sym.3 \ 144164190Sjkoshy gelf_getsyminfo.3 gelf_update_syminfo.3 \ 145164190Sjkoshy gelf_getsymshndx.3 gelf_update_symshndx.3 \ 146164190Sjkoshy gelf_update_ehdr.3 gelf_update_phdr.3 \ 147164190Sjkoshy gelf_update_ehdr.3 gelf_update_shdr.3 \ 148164190Sjkoshy gelf_xlatetof.3 gelf_xlatetom.3 149164190Sjkoshy 150164190Sjkoshy.for E in 32 64 151164190SjkoshyMLINKS+= \ 152164190Sjkoshy gelf_checksum.3 elf${E}_checksum.3 \ 153164190Sjkoshy gelf_fsize.3 elf${E}_fsize.3 \ 154164190Sjkoshy gelf_getehdr.3 elf${E}_getehdr.3 \ 155164190Sjkoshy gelf_getphdr.3 elf${E}_getphdr.3 \ 156164190Sjkoshy gelf_getshdr.3 elf${E}_getshdr.3 \ 157164190Sjkoshy gelf_newehdr.3 elf${E}_newehdr.3 \ 158164190Sjkoshy gelf_newphdr.3 elf${E}_newphdr.3 \ 159164190Sjkoshy gelf_xlatetof.3 elf${E}_xlatetof.3 \ 160164190Sjkoshy gelf_xlatetof.3 elf${E}_xlatetom.3 161164190Sjkoshy.endfor 162164190Sjkoshy 163164190SjkoshyVERSION_MAP= ${.CURDIR}/Version.map 164164190Sjkoshy 165164190SjkoshyLIBELF_TEST_HOOKS?= 1 166164190Sjkoshy.if defined(LIBELF_TEST_HOOKS) && (${LIBELF_TEST_HOOKS} > 0) 167189721SobrienCFLAGS+= -DLIBELF_TEST_HOOKS 168164190Sjkoshy.endif 169164190Sjkoshy 170164190Sjkoshylibelf_convert.c: elf_types.m4 libelf_convert.m4 171164190Sjkoshylibelf_fsize.c: elf_types.m4 libelf_fsize.m4 172164190Sjkoshylibelf_msize.c: elf_types.m4 libelf_msize.m4 173164190Sjkoshy 174164190Sjkoshy.include <bsd.lib.mk> 175164190Sjkoshy 176164225Sjkoshy# Keep the .SUFFIXES line after the include of bsd.lib.mk 177164190Sjkoshy.SUFFIXES: .m4 .c 178164190Sjkoshy.m4.c: 179165317Sjkoshy m4 -D SRCDIR=${.CURDIR} ${.IMPSRC} > ${.TARGET} 180