1# $FreeBSD$ 2 3.include "../Makefile.inc0" 4 5.PATH: ${SRCDIR}/bfd ${SRCDIR}/opcodes 6 7LIB= bfd 8SRCS+= archive.c \ 9 archive64.c \ 10 archures.c \ 11 bfd.c \ 12 bfdio.c \ 13 bfdver.h \ 14 bfdwin.c \ 15 binary.c \ 16 cache.c \ 17 coffgen.c \ 18 config.h \ 19 corefile.c \ 20 dwarf1.c \ 21 dwarf2.c \ 22 elf-eh-frame.c \ 23 elf-strtab.c \ 24 elf-vxworks.c \ 25 elf.c \ 26 format.c \ 27 hash.c \ 28 ihex.c \ 29 init.c \ 30 libbfd.c \ 31 linker.c \ 32 merge.c \ 33 opncls.c \ 34 reloc.c \ 35 section.c \ 36 simple.c \ 37 srec.c \ 38 stab-syms.c \ 39 stabs.c \ 40 syms.c \ 41 targets.c \ 42 targmatch.h \ 43 tekhex.c 44WARNS?= 0 45.if (${TARGET_ARCH} == "ia64" || ${TARGET_ARCH} == "sparc64") 46WARNS?= 2 47.endif 48CFLAGS+= -D_GNU_SOURCE 49CFLAGS+= -I${SRCDIR}/bfd 50INTERNALLIB= 51CLEANFILES+= bfdver.h config.h targmatch.h 52 53SELARCH= 54.if ${TARGET_ARCH} == "amd64" 55SELARCH= &bfd_i386_arch 56.elif ${TARGET_ARCH} == "sparc64" 57SELARCH= &bfd_sparc_arch 58.elif ${TARGET_ARCH} == "powerpc64" 59SELARCH= &bfd_powerpc_arch,&bfd_rs6000_arch 60.else 61.for _a in ${ARCHS} 62.if ${SELARCH} == "" 63SELARCH+= &bfd_${_a}_arch 64.else 65SELARCH+= ,&bfd_${_a}_arch 66.endif 67.endfor 68.endif 69CFLAGS+= -DSELECT_ARCHITECTURES="${SELARCH}" 70 71SELVEC= 72.for _v in ${VECS} 73CFLAGS+= -DHAVE_${_v} 74.if ${SELVEC} == "" 75SELVEC+= &${_v} 76.else 77SELVEC+= ,&${_v} 78.endif 79.endfor 80CFLAGS+= -DSELECT_VECS="${SELVEC}" 81CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR} 82 83# XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}... 84bfdver.h: Makefile 85 echo '#define BFD_VERSION 217000000' > ${.TARGET} 86 echo '#define BFD_VERSION_DATE 20070807' >> ${.TARGET} 87 echo '#define BFD_VERSION_STRING ${VERSION}' >> ${.TARGET} 88 89targmatch.h: targmatch.sed config.bfd 90 sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET} 91 92config.h: config.h.fbsd 93.if ${TARGET_ARCH} == "i386" 94 sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} > ${.TARGET} 95.else 96 sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET} 97.endif 98 99CLEANFILES+= elf32-target.h elf64-target.h 100elf32-target.h: elfxx-target.h 101 sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET} 102 103elf64-target.h: elfxx-target.h 104 sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET} 105 106.include <bsd.lib.mk> 107