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 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}" 49*7d0fc2f4SDavid E. O'BrienCFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR} 50beb33165SJohn Birrell 51e223c68bSDavid E. O'Brien# XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}... 52e223c68bSDavid E. O'Brienbfdver.h: Makefile 5369025842SMarcel Moolenaar echo '#define BFD_VERSION 215000000' > ${.TARGET} 5469025842SMarcel Moolenaar echo '#define BFD_VERSION_DATE 20040517' >> ${.TARGET} 55e223c68bSDavid E. O'Brien echo '#define BFD_VERSION_STRING ${VERSION}' >> ${.TARGET} 56e223c68bSDavid E. O'Brien 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 610e7fe4f6SDavid E. O'Brien.if ${TARGET_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 67*7d0fc2f4SDavid E. O'BrienCLEANFILES+= elf32-target.h elf64-target.h 685b728dfdSMarcel Moolenaarelf32-target.h: elfxx-target.h 695b728dfdSMarcel Moolenaar sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET} 705b728dfdSMarcel Moolenaar 715b728dfdSMarcel Moolenaarelf64-target.h: elfxx-target.h 725b728dfdSMarcel Moolenaar sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET} 735b728dfdSMarcel Moolenaar 742e280533SJohn Polstra.include <bsd.lib.mk> 75