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