1.include "../../Makefile.inc1" 2.include "../Makefile.block1" 3 4LIB= bfd 5INTERNALLIB= true 6 7CONTRIBDIR= ${SRCDIR}/bfd 8.PATH: ${CONTRIBDIR} 9 10CFLAGS+= -I${SRCDIR}/include -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR} 11CFLAGS+= -DDEBUGDIR='"/usr/lib/debug"' # no clue why this is needed 12FLAGS_GROUPS= target plugins 13 14# BFD32_LIBS_CFILES 15SRCS= archive.c archures.c bfd.c bfdio.c \ 16 cache.c coffgen.c corefile.c \ 17 format.c init.c libbfd.c opncls.c reloc.c \ 18 section.c syms.c targets.c hash.c linker.c \ 19 srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \ 20 merge.c dwarf2.c simple.c compress.c verilog.c 21 22# only when USE_MMAP (--with-mmap) 23#SRCS+= bfdwin.c 24 25# from Makefile, BFD64_BACKENDS_CFILES (x86-64 specific) 26SRCS+= elf64-x86-64.c elf-ifunc.c elf-nacl.c elf64.c elf.c elflink.c \ 27 elf-attrs.c elf-strtab.c elf-eh-frame.c dwarf1.c elf32-i386.c \ 28 elf-vxworks.c elf32.c elf64-gen.c elf32-gen.c pei-x86_64.c \ 29 pex64igen.c cofflink.c coff-bfd.c 30 31# ALL_MACHINES_CFILES 32SRCS+= cpu-i386.c cpu-l1om.c cpu-k1om.c 33 34# BFD64_LIBS_CFILES 35SRCS+= archive64.c 36 37VECTORS= x86_64_elf64_vec \ 38 x86_64_pei_vec \ 39 i386_elf32_vec \ 40 iamcu_elf32_vec \ 41 l1om_elf64_vec \ 42 k1om_elf64_vec \ 43 elf64_le_vec \ 44 elf64_be_vec \ 45 elf32_le_vec \ 46 elf32_be_vec 47 48# plugin support mainly for LTO ar, nm, ranlib 49SRCS+= plugin.c 50VECTORS+= plugin_vec 51plugins_FLAGS+= -DBINDIR=\"${TOOLS_PREFIX}${BINDIR}\" 52plugins_FLAGS+= -DRELPLUGINDIR=\"/../bfd-plugins\" # standard one uses lib/bfd-plugins 53plugins_FLAGS_FILES= plugin.c 54 55DEFAULT_VECTOR= x86_64_elf64_vec 56ARCHITECTURES= bfd_i386_arch bfd_l1om_arch bfd_k1om_arch 57 58_selvec= 59.for _v in ${VECTORS} 60target_FLAGS+= -DHAVE_${_v} 61.if !empty(_selvec) 62_selvec+= , 63.endif 64_selvec+= &${_v} 65.endfor 66target_FLAGS+= -DSELECT_VECS='${_selvec}' 67target_FLAGS+= -DSELECT_ARCHITECTURES='${ARCHITECTURES:S/^/\&/:S/$/,/} 0' 68target_FLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR} 69target_FLAGS_FILES= targets.c archures.c 70 71${SRCS}: bfd.h 72targets.c: targmatch.h 73elf32-gen.c elf32-i386.c elf64-x86-64.c: elf32-target.h 74elf64-gen.c elf64-x86-64.c: elf64-target.h 75cache.c elf32-i386.c elf64-x86-64.c: bfd_stdint.h 76 77bfd_stdint.h: 78 touch ${.TARGET} 79 80targmatch.h: config.bfd targmatch.sed 81 sed -f ${CONTRIBDIR}/targmatch.sed < ${CONTRIBDIR}/config.bfd \ 82 > ${.TARGET} 83 84elf32-target.h: elfxx-target.h 85 sed -e s/NN/32/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET} 86elf64-target.h: elfxx-target.h 87 sed -e s/NN/64/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET} 88pex64igen.c: peXXigen.c 89 sed -e s/XX/pex64/g < ${CONTRIBDIR}/peXXigen.c > ${.TARGET} 90 91CLEANFILES= bfd_stdint.h bfd.h elf64-target.h elf32-target.h targmatch.h \ 92 pex64igen.c 93 94.include <bsd.lib.mk> 95