19b7a44a6SPeter Wemm# $FreeBSD$ 22e280533SJohn Polstra 32e280533SJohn Polstra.include "../Makefile.inc0" 42e280533SJohn Polstra 57408d8ffSWarner Losh.PATH: ${SRCDIR}/bfd ${SRCDIR}/opcodes 62e280533SJohn Polstra 72e280533SJohn PolstraLIB= bfd 8985e77deSDavid E. O'BrienSRCS+= archive.c archive64.c archures.c bfd.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 \ 125c73b63dSDavid E. O'Brien targmatch.h dwarf1.c dwarf2.c config.h 13*b0627fccSDavid E. O'Brien.if (${TARGET_ARCH} == "alpha") 14*b0627fccSDavid E. O'BrienWARNS= 2 15*b0627fccSDavid E. O'Brien.endif 162e280533SJohn PolstraCFLAGS+= -I${SRCDIR}/bfd 17a1a1118aSDavid E. O'BrienCFLAGS+= -DBFD_VERSION=\"${VERSION_DATE}\" -DBFD_VERSION_DATE=${VERSION_DATE} 18a1a1118aSDavid E. O'BrienCFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\" 192e280533SJohn PolstraNOPROFILE= true 202e280533SJohn PolstraNOPIC= true 21f07eaee2SJohn PolstraINTERNALLIB= true 22f07eaee2SJohn PolstraINTERNALSTATICLIB=true 235c73b63dSDavid E. O'BrienCLEANFILES+= config.h targmatch.h 242e280533SJohn Polstra 253ba3ae90SJohn Birrell# If set, BINUTILSDISTDIR is the path to a directory containing the full GNU 263ba3ae90SJohn Birrell# binutils release. FreeBSD only distributes the bits that are required to 273ba3ae90SJohn Birrell# build native architectures. BINUTILSDISTDIR is needed to build cross tools. 283ba3ae90SJohn Birrell.if defined(BINUTILSDISTDIR) && exists(${BINUTILSDISTDIR}) 293ba3ae90SJohn Birrell.PATH: ${BINUTILSDISTDIR}/bfd ${BINUTILSDISTDIR}/opcodes 305c73b63dSDavid E. O'BrienCFLAGS+= -I${BINUTILSDISTDIR}/bfd -I${BINUTILSDISTDIR}/include -I. 313ba3ae90SJohn Birrell.endif 323ba3ae90SJohn Birrell 33beb33165SJohn BirrellSELARCH= 345e59c546SSteve Price.if ${BINUTIL_ARCH} == "sparc64" 355e59c546SSteve PriceSELARCH= &bfd_sparc_arch 365e59c546SSteve Price.else 37beb33165SJohn Birrell.for _a in ${ARCHS} 38beb33165SJohn Birrell.if ${SELARCH} == "" 39beb33165SJohn BirrellSELARCH+= &bfd_${_a}_arch 40beb33165SJohn Birrell.else 41beb33165SJohn BirrellSELARCH+= ,&bfd_${_a}_arch 42beb33165SJohn Birrell.endif 43beb33165SJohn Birrell.endfor 445e59c546SSteve Price.endif 45beb33165SJohn BirrellCFLAGS+= -DSELECT_ARCHITECTURES="${SELARCH}" 46beb33165SJohn Birrell 47beb33165SJohn BirrellSELVEC= 48beb33165SJohn Birrell.for _v in ${VECS} 49beb33165SJohn Birrell.if ${SELVEC} == "" 50beb33165SJohn BirrellSELVEC+= &${_v} 51beb33165SJohn Birrell.else 52beb33165SJohn BirrellSELVEC+= ,&${_v} 53beb33165SJohn Birrell.endif 54beb33165SJohn Birrell.endfor 55beb33165SJohn BirrellCFLAGS+= -DSELECT_VECS="${SELVEC}" 56beb33165SJohn Birrell 572e280533SJohn Polstratargmatch.h: targmatch.sed config.bfd 582e280533SJohn Polstra sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET} 592e280533SJohn Polstra 605c73b63dSDavid E. O'Brienconfig.h: config.h.fbsd 615c73b63dSDavid E. O'Brien.if ${BINUTIL_ARCH} == "i386" 625c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} > ${.TARGET} 635c73b63dSDavid E. O'Brien.else 645c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET} 655c73b63dSDavid E. O'Brien.endif 665c73b63dSDavid E. O'Brien 672e280533SJohn Polstra.include <bsd.lib.mk> 68