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