19b7a44a6SPeter Wemm# $FreeBSD$ 22e280533SJohn Polstra 32e280533SJohn Polstra.include "../Makefile.inc0" 42e280533SJohn Polstra 57408d8ffSWarner Losh.PATH: ${SRCDIR}/bfd ${SRCDIR}/opcodes 62e280533SJohn Polstra 72e280533SJohn PolstraLIB= bfd 8831f4a37SMarcel MoolenaarSRCS+= archive.c archive64.c archures.c bfd.c bfdwin.c binary.c cache.c \ 9c3b0e332SDavid E. O'Brien coffgen.c corefile.c elf.c elf-eh-frame.c elf-strtab.c format.c \ 10c3b0e332SDavid E. O'Brien hash.c ihex.c init.c libbfd.c linker.c merge.c opncls.c reloc.c \ 11c3b0e332SDavid E. O'Brien section.c srec.c stab-syms.c stabs.c syms.c targets.c tekhex.c \ 12e223c68bSDavid E. O'Brien targmatch.h dwarf1.c dwarf2.c config.h bfdver.h bfdio.c simple.c 137ff8c436SJohan KarlssonWARNS?= 0 14c684b561SWarner Losh.if (${TARGET_ARCH} == "ia64" || ${TARGET_ARCH} == "sparc64") 157ff8c436SJohan KarlssonWARNS?= 2 16b0627fccSDavid E. O'Brien.endif 17e223c68bSDavid E. O'BrienCFLAGS+= -D_GNU_SOURCE 182e280533SJohn PolstraCFLAGS+= -I${SRCDIR}/bfd 19a35d8893SRuslan ErmilovINTERNALLIB= 20e223c68bSDavid E. O'BrienCLEANFILES+= bfdver.h config.h targmatch.h 212e280533SJohn Polstra 22beb33165SJohn BirrellSELARCH= 23584a637fSDavid E. O'Brien.if ${TARGET_ARCH} == "amd64" 24584a637fSDavid E. O'BrienSELARCH= &bfd_i386_arch 25584a637fSDavid E. O'Brien.elif ${TARGET_ARCH} == "sparc64" 265e59c546SSteve PriceSELARCH= &bfd_sparc_arch 27*2cf64c80SNathan Whitehorn.elif ${TARGET_ARCH} == "powerpc64" 28*2cf64c80SNathan WhitehornSELARCH= &bfd_powerpc_arch,&bfd_rs6000_arch 295e59c546SSteve Price.else 30beb33165SJohn Birrell.for _a in ${ARCHS} 31beb33165SJohn Birrell.if ${SELARCH} == "" 32beb33165SJohn BirrellSELARCH+= &bfd_${_a}_arch 33beb33165SJohn Birrell.else 34beb33165SJohn BirrellSELARCH+= ,&bfd_${_a}_arch 35beb33165SJohn Birrell.endif 36beb33165SJohn Birrell.endfor 375e59c546SSteve Price.endif 38beb33165SJohn BirrellCFLAGS+= -DSELECT_ARCHITECTURES="${SELARCH}" 39beb33165SJohn Birrell 40beb33165SJohn BirrellSELVEC= 41beb33165SJohn Birrell.for _v in ${VECS} 42bf12a49eSDavid E. O'BrienCFLAGS+= -DHAVE_${_v} 43beb33165SJohn Birrell.if ${SELVEC} == "" 44beb33165SJohn BirrellSELVEC+= &${_v} 45beb33165SJohn Birrell.else 46beb33165SJohn BirrellSELVEC+= ,&${_v} 47beb33165SJohn Birrell.endif 48beb33165SJohn Birrell.endfor 49beb33165SJohn BirrellCFLAGS+= -DSELECT_VECS="${SELVEC}" 507d0fc2f4SDavid E. O'BrienCFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR} 51beb33165SJohn Birrell 52e223c68bSDavid E. O'Brien# XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}... 53e223c68bSDavid E. O'Brienbfdver.h: Makefile 5469025842SMarcel Moolenaar echo '#define BFD_VERSION 215000000' > ${.TARGET} 5569025842SMarcel Moolenaar echo '#define BFD_VERSION_DATE 20040517' >> ${.TARGET} 56e223c68bSDavid E. O'Brien echo '#define BFD_VERSION_STRING ${VERSION}' >> ${.TARGET} 57e223c68bSDavid E. O'Brien 582e280533SJohn Polstratargmatch.h: targmatch.sed config.bfd 592e280533SJohn Polstra sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET} 602e280533SJohn Polstra 615c73b63dSDavid E. O'Brienconfig.h: config.h.fbsd 620e7fe4f6SDavid E. O'Brien.if ${TARGET_ARCH} == "i386" 635c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} > ${.TARGET} 645c73b63dSDavid E. O'Brien.else 655c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET} 665c73b63dSDavid E. O'Brien.endif 675c73b63dSDavid E. O'Brien 687d0fc2f4SDavid E. O'BrienCLEANFILES+= elf32-target.h elf64-target.h 695b728dfdSMarcel Moolenaarelf32-target.h: elfxx-target.h 705b728dfdSMarcel Moolenaar sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET} 715b728dfdSMarcel Moolenaar 725b728dfdSMarcel Moolenaarelf64-target.h: elfxx-target.h 735b728dfdSMarcel Moolenaar sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET} 745b728dfdSMarcel Moolenaar 752e280533SJohn Polstra.include <bsd.lib.mk> 76