1# $FreeBSD$ 2 3LIB= elf 4 5SRCS= elf_begin.c \ 6 elf_cntl.c \ 7 elf_end.c elf_errmsg.c elf_errno.c \ 8 elf_data.c \ 9 elf_fill.c \ 10 elf_flag.c \ 11 elf_getarhdr.c \ 12 elf_getarsym.c \ 13 elf_getbase.c \ 14 elf_getident.c \ 15 elf_hash.c \ 16 elf_kind.c \ 17 elf_memory.c \ 18 elf_next.c \ 19 elf_rand.c \ 20 elf_rawfile.c \ 21 elf_phnum.c \ 22 elf_shnum.c \ 23 elf_shstrndx.c \ 24 elf_scn.c \ 25 elf_strptr.c \ 26 elf_update.c \ 27 elf_version.c \ 28 gelf_cap.c \ 29 gelf_checksum.c \ 30 gelf_dyn.c \ 31 gelf_ehdr.c \ 32 gelf_getclass.c \ 33 gelf_fsize.c \ 34 gelf_move.c \ 35 gelf_phdr.c \ 36 gelf_rel.c \ 37 gelf_rela.c \ 38 gelf_shdr.c \ 39 gelf_sym.c \ 40 gelf_syminfo.c \ 41 gelf_symshndx.c \ 42 gelf_xlate.c \ 43 libelf.c \ 44 libelf_align.c \ 45 libelf_allocate.c \ 46 libelf_ar.c \ 47 libelf_ar_util.c \ 48 libelf_checksum.c \ 49 libelf_data.c \ 50 libelf_ehdr.c \ 51 libelf_extended.c \ 52 libelf_phdr.c \ 53 libelf_shdr.c \ 54 libelf_xlate.c \ 55 ${GENSRCS} 56INCS= libelf.h gelf.h 57 58# 59# We need to link against the correct version of these files. One 60# solution is to include ../../sys in the include path. This causes 61# problems when a header file in sys depends on a file in another 62# part of the tree, e.g. a machine dependent header. 63# 64SRCS+= sys/elf32.h sys/elf64.h sys/elf_common.h 65 66GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c 67CLEANFILES= ${GENSRCS} 68CLEANDIRS= sys 69CFLAGS+= -I${.CURDIR} -I. 70 71sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} 72 mkdir -p ${.OBJDIR}/sys 73 ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} 74 75SHLIB_MAJOR= 1 76 77MAN= elf.3 \ 78 elf_begin.3 \ 79 elf_cntl.3 \ 80 elf_end.3 \ 81 elf_errmsg.3 \ 82 elf_fill.3 \ 83 elf_flagdata.3 \ 84 elf_getarhdr.3 \ 85 elf_getarsym.3 \ 86 elf_getbase.3 \ 87 elf_getdata.3 \ 88 elf_getident.3 \ 89 elf_getscn.3 \ 90 elf_getphdrnum.3 \ 91 elf_getphnum.3 \ 92 elf_getshdrnum.3 \ 93 elf_getshnum.3 \ 94 elf_getshdrstrndx.3 \ 95 elf_getshstrndx.3 \ 96 elf_hash.3 \ 97 elf_kind.3 \ 98 elf_memory.3 \ 99 elf_next.3 \ 100 elf_rawfile.3 \ 101 elf_rand.3 \ 102 elf_strptr.3 \ 103 elf_update.3 \ 104 elf_version.3 \ 105 gelf.3 \ 106 gelf_checksum.3 \ 107 gelf_fsize.3 \ 108 gelf_getcap.3 \ 109 gelf_getclass.3 \ 110 gelf_getdyn.3 \ 111 gelf_getehdr.3 \ 112 gelf_getmove.3 \ 113 gelf_getphdr.3 \ 114 gelf_getrel.3 \ 115 gelf_getrela.3 \ 116 gelf_getshdr.3 \ 117 gelf_getsym.3 \ 118 gelf_getsyminfo.3 \ 119 gelf_getsymshndx.3 \ 120 gelf_newehdr.3 \ 121 gelf_newphdr.3 \ 122 gelf_update_ehdr.3 \ 123 gelf_xlatetof.3 124 125MLINKS+= \ 126 elf_errmsg.3 elf_errno.3 \ 127 elf_flagdata.3 elf_flagehdr.3 \ 128 elf_flagdata.3 elf_flagelf.3 \ 129 elf_flagdata.3 elf_flagphdr.3 \ 130 elf_flagdata.3 elf_flagscn.3 \ 131 elf_flagdata.3 elf_flagshdr.3 \ 132 elf_getdata.3 elf_newdata.3 \ 133 elf_getdata.3 elf_rawdata.3 \ 134 elf_getscn.3 elf_ndxscn.3 \ 135 elf_getscn.3 elf_newscn.3 \ 136 elf_getscn.3 elf_nextscn.3 \ 137 elf_getshstrndx.3 elf_setshstrndx.3 \ 138 gelf_getcap.3 gelf_update_cap.3 \ 139 gelf_getdyn.3 gelf_update_dyn.3 \ 140 gelf_getmove.3 gelf_update_move.3 \ 141 gelf_getrel.3 gelf_update_rel.3 \ 142 gelf_getrela.3 gelf_update_rela.3 \ 143 gelf_getsym.3 gelf_update_sym.3 \ 144 gelf_getsyminfo.3 gelf_update_syminfo.3 \ 145 gelf_getsymshndx.3 gelf_update_symshndx.3 \ 146 gelf_update_ehdr.3 gelf_update_phdr.3 \ 147 gelf_update_ehdr.3 gelf_update_shdr.3 \ 148 gelf_xlatetof.3 gelf_xlatetom.3 149 150.for E in 32 64 151MLINKS+= \ 152 gelf_checksum.3 elf${E}_checksum.3 \ 153 gelf_fsize.3 elf${E}_fsize.3 \ 154 gelf_getehdr.3 elf${E}_getehdr.3 \ 155 gelf_getphdr.3 elf${E}_getphdr.3 \ 156 gelf_getshdr.3 elf${E}_getshdr.3 \ 157 gelf_newehdr.3 elf${E}_newehdr.3 \ 158 gelf_newphdr.3 elf${E}_newphdr.3 \ 159 gelf_xlatetof.3 elf${E}_xlatetof.3 \ 160 gelf_xlatetof.3 elf${E}_xlatetom.3 161.endfor 162 163VERSION_MAP= ${.CURDIR}/Version.map 164 165LIBELF_TEST_HOOKS?= 1 166.if defined(LIBELF_TEST_HOOKS) && (${LIBELF_TEST_HOOKS} > 0) 167CFLAGS+= -DLIBELF_TEST_HOOKS 168.endif 169 170libelf_convert.c: elf_types.m4 libelf_convert.m4 171libelf_fsize.c: elf_types.m4 libelf_fsize.m4 172libelf_msize.c: elf_types.m4 libelf_msize.m4 173 174.include <bsd.lib.mk> 175 176# Keep the .SUFFIXES line after the include of bsd.lib.mk 177.SUFFIXES: .m4 .c 178.m4.c: 179 m4 -D SRCDIR=${.CURDIR} ${.IMPSRC} > ${.TARGET} 180