19b7a44a6SPeter Wemm# $FreeBSD$ 22e280533SJohn Polstra 32e280533SJohn Polstra.include "../Makefile.inc0" 42e280533SJohn Polstra 57408d8ffSWarner Losh.PATH: ${SRCDIR}/bfd ${SRCDIR}/opcodes 62e280533SJohn Polstra 72e280533SJohn PolstraLIB= bfd 83213eafaSDimitry AndricSRCS+= archive.c \ 93213eafaSDimitry Andric archive64.c \ 103213eafaSDimitry Andric archures.c \ 113213eafaSDimitry Andric bfd.c \ 123213eafaSDimitry Andric bfdio.c \ 133213eafaSDimitry Andric bfdver.h \ 143213eafaSDimitry Andric bfdwin.c \ 153213eafaSDimitry Andric binary.c \ 163213eafaSDimitry Andric cache.c \ 173213eafaSDimitry Andric coffgen.c \ 183213eafaSDimitry Andric config.h \ 193213eafaSDimitry Andric corefile.c \ 203213eafaSDimitry Andric dwarf1.c \ 213213eafaSDimitry Andric dwarf2.c \ 220921c6efSDimitry Andric elf-attrs.c \ 233213eafaSDimitry Andric elf-eh-frame.c \ 243213eafaSDimitry Andric elf-strtab.c \ 256efa94bcSDimitry Andric elf-vxworks.c \ 263213eafaSDimitry Andric elf.c \ 273213eafaSDimitry Andric format.c \ 283213eafaSDimitry Andric hash.c \ 293213eafaSDimitry Andric ihex.c \ 303213eafaSDimitry Andric init.c \ 313213eafaSDimitry Andric libbfd.c \ 323213eafaSDimitry Andric linker.c \ 333213eafaSDimitry Andric merge.c \ 343213eafaSDimitry Andric opncls.c \ 353213eafaSDimitry Andric reloc.c \ 363213eafaSDimitry Andric section.c \ 373213eafaSDimitry Andric simple.c \ 383213eafaSDimitry Andric srec.c \ 393213eafaSDimitry Andric stab-syms.c \ 403213eafaSDimitry Andric stabs.c \ 413213eafaSDimitry Andric syms.c \ 423213eafaSDimitry Andric targets.c \ 433213eafaSDimitry Andric targmatch.h \ 443213eafaSDimitry Andric tekhex.c 45e7d939bdSMarcel Moolenaar.if ${TARGET_ARCH} == "sparc64" 467ff8c436SJohan KarlssonWARNS?= 2 47b0627fccSDavid E. O'Brien.endif 48e223c68bSDavid E. O'BrienCFLAGS+= -D_GNU_SOURCE 492e280533SJohn PolstraCFLAGS+= -I${SRCDIR}/bfd 50a35d8893SRuslan ErmilovINTERNALLIB= 51e223c68bSDavid E. O'BrienCLEANFILES+= bfdver.h config.h targmatch.h 522e280533SJohn Polstra 53beb33165SJohn BirrellSELARCH= 54584a637fSDavid E. O'Brien.if ${TARGET_ARCH} == "amd64" 55584a637fSDavid E. O'BrienSELARCH= &bfd_i386_arch 56584a637fSDavid E. O'Brien.elif ${TARGET_ARCH} == "sparc64" 575e59c546SSteve PriceSELARCH= &bfd_sparc_arch 585e59c546SSteve Price.else 59beb33165SJohn Birrell.for _a in ${ARCHS} 60beb33165SJohn Birrell.if ${SELARCH} == "" 61beb33165SJohn BirrellSELARCH+= &bfd_${_a}_arch 62beb33165SJohn Birrell.else 63beb33165SJohn BirrellSELARCH+= ,&bfd_${_a}_arch 64beb33165SJohn Birrell.endif 65beb33165SJohn Birrell.endfor 665e59c546SSteve Price.endif 67beb33165SJohn BirrellCFLAGS+= -DSELECT_ARCHITECTURES="${SELARCH}" 68beb33165SJohn Birrell 69beb33165SJohn BirrellSELVEC= 70beb33165SJohn Birrell.for _v in ${VECS} 71bf12a49eSDavid E. O'BrienCFLAGS+= -DHAVE_${_v} 72beb33165SJohn Birrell.if ${SELVEC} == "" 73beb33165SJohn BirrellSELVEC+= &${_v} 74beb33165SJohn Birrell.else 75beb33165SJohn BirrellSELVEC+= ,&${_v} 76beb33165SJohn Birrell.endif 77beb33165SJohn Birrell.endfor 78beb33165SJohn BirrellCFLAGS+= -DSELECT_VECS="${SELVEC}" 797d0fc2f4SDavid E. O'BrienCFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR} 800921c6efSDimitry AndricCFLAGS+= -DDEBUGDIR="NULL" 81beb33165SJohn Birrell 82e223c68bSDavid E. O'Brien# XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}... 83e223c68bSDavid E. O'Brienbfdver.h: Makefile 840921c6efSDimitry Andric echo '#define BFD_VERSION 217500000' > ${.TARGET} 850921c6efSDimitry Andric echo '#define BFD_VERSION_DATE 20070703' >> ${.TARGET} 86e223c68bSDavid E. O'Brien echo '#define BFD_VERSION_STRING ${VERSION}' >> ${.TARGET} 87ad3afeeaSGavin Atkinson echo '#define REPORT_BUGS_TO "<http://www.freebsd.org/support.html>"' >> ${.TARGET} 88e223c68bSDavid E. O'Brien 892e280533SJohn Polstratargmatch.h: targmatch.sed config.bfd 902e280533SJohn Polstra sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET} 912e280533SJohn Polstra 925c73b63dSDavid E. O'Brienconfig.h: config.h.fbsd 930e7fe4f6SDavid E. O'Brien.if ${TARGET_ARCH} == "i386" 945c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} > ${.TARGET} 955c73b63dSDavid E. O'Brien.else 965c73b63dSDavid E. O'Brien sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET} 975c73b63dSDavid E. O'Brien.endif 985c73b63dSDavid E. O'Brien 997d0fc2f4SDavid E. O'BrienCLEANFILES+= elf32-target.h elf64-target.h 1005b728dfdSMarcel Moolenaarelf32-target.h: elfxx-target.h 1015b728dfdSMarcel Moolenaar sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET} 1025b728dfdSMarcel Moolenaar 1035b728dfdSMarcel Moolenaarelf64-target.h: elfxx-target.h 1045b728dfdSMarcel Moolenaar sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET} 1055b728dfdSMarcel Moolenaar 106*7f4b19cbSSimon J. Gerraty# avoid cicular dependency 107*7f4b19cbSSimon J. GerratyGENDIRDEPS_FILTER+= N*/nm 108*7f4b19cbSSimon J. Gerraty 1092e280533SJohn Polstra.include <bsd.lib.mk> 110