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 \ 12e223c68bSDavid E. O'Brien targmatch.h dwarf1.c dwarf2.c config.h bfdver.h bfdio.c simple.c 137ff8c436SJohan KarlssonWARNS?= 0 14ca9c5671SJohan Karlsson.if (${TARGET_ARCH} == "alpha" || ${TARGET_ARCH} == "ia64" || \ 15ca9c5671SJohan Karlsson ${TARGET_ARCH} == "sparc64") 167ff8c436SJohan KarlssonWARNS?= 2 17b0627fccSDavid E. O'Brien.endif 18e223c68bSDavid E. O'BrienCFLAGS+= -D_GNU_SOURCE 192e280533SJohn PolstraCFLAGS+= -I${SRCDIR}/bfd 20f07eaee2SJohn PolstraINTERNALLIB= true 21e223c68bSDavid E. O'BrienCLEANFILES+= bfdver.h config.h targmatch.h 222e280533SJohn Polstra 23beb33165SJohn BirrellSELARCH= 24584a637fSDavid E. O'Brien.if ${TARGET_ARCH} == "amd64" 25584a637fSDavid E. O'BrienSELARCH= &bfd_i386_arch 26584a637fSDavid E. O'Brien.elif ${TARGET_ARCH} == "sparc64" 275e59c546SSteve PriceSELARCH= &bfd_sparc_arch 285e59c546SSteve Price.else 29beb33165SJohn Birrell.for _a in ${ARCHS} 30beb33165SJohn Birrell.if ${SELARCH} == "" 31beb33165SJohn BirrellSELARCH+= &bfd_${_a}_arch 32beb33165SJohn Birrell.else 33beb33165SJohn BirrellSELARCH+= ,&bfd_${_a}_arch 34beb33165SJohn Birrell.endif 35beb33165SJohn Birrell.endfor 365e59c546SSteve Price.endif 37beb33165SJohn BirrellCFLAGS+= -DSELECT_ARCHITECTURES="${SELARCH}" 38beb33165SJohn Birrell 39beb33165SJohn BirrellSELVEC= 40beb33165SJohn Birrell.for _v in ${VECS} 41bf12a49eSDavid E. O'BrienCFLAGS+= -DHAVE_${_v} 42beb33165SJohn Birrell.if ${SELVEC} == "" 43beb33165SJohn BirrellSELVEC+= &${_v} 44beb33165SJohn Birrell.else 45beb33165SJohn BirrellSELVEC+= ,&${_v} 46beb33165SJohn Birrell.endif 47beb33165SJohn Birrell.endfor 48beb33165SJohn BirrellCFLAGS+= -DSELECT_VECS="${SELVEC}" 49beb33165SJohn Birrell 50e223c68bSDavid E. O'Brien# XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}... 51e223c68bSDavid E. O'Brienbfdver.h: Makefile 5269025842SMarcel Moolenaar echo '#define BFD_VERSION 215000000' > ${.TARGET} 5369025842SMarcel Moolenaar echo '#define BFD_VERSION_DATE 20040517' >> ${.TARGET} 54e223c68bSDavid E. O'Brien echo '#define BFD_VERSION_STRING ${VERSION}' >> ${.TARGET} 55e223c68bSDavid E. O'Brien 562e280533SJohn Polstratargmatch.h: targmatch.sed config.bfd 572e280533SJohn Polstra sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET} 582e280533SJohn Polstra 595c73b63dSDavid E. O'Brienconfig.h: config.h.fbsd 600e7fe4f6SDavid E. O'Brien.if ${TARGET_ARCH} == "i386" 615c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} > ${.TARGET} 625c73b63dSDavid E. O'Brien.else 635c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET} 645c73b63dSDavid E. O'Brien.endif 655c73b63dSDavid E. O'Brien 66*5b728dfdSMarcel Moolenaarelf32-target.h: elfxx-target.h 67*5b728dfdSMarcel Moolenaar sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET} 68*5b728dfdSMarcel Moolenaar 69*5b728dfdSMarcel Moolenaarelf64-target.h: elfxx-target.h 70*5b728dfdSMarcel Moolenaar sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET} 71*5b728dfdSMarcel Moolenaar 722e280533SJohn Polstra.include <bsd.lib.mk> 73