150472Speter# $FreeBSD$
233975Sjdp
333975Sjdp.include "../Makefile.inc0"
433975Sjdp
544360Simp.PATH: ${SRCDIR}/bfd ${SRCDIR}/opcodes
633975Sjdp
784902SobrienLIB=	bfd
8218822SdimSRCS+=	archive.c \
9218822Sdim	archive64.c \
10218822Sdim	archures.c \
11218822Sdim	bfd.c \
12218822Sdim	bfdio.c \
13218822Sdim	bfdver.h \
14218822Sdim	bfdwin.c \
15218822Sdim	binary.c \
16218822Sdim	cache.c \
17218822Sdim	coffgen.c \
18218822Sdim	config.h \
19218822Sdim	corefile.c \
20218822Sdim	dwarf1.c \
21218822Sdim	dwarf2.c \
22218822Sdim	elf-attrs.c \
23218822Sdim	elf-eh-frame.c \
24218822Sdim	elf-strtab.c \
25218822Sdim	elf-vxworks.c \
26218822Sdim	elf.c \
27218822Sdim	format.c \
28218822Sdim	hash.c \
29218822Sdim	ihex.c \
30218822Sdim	init.c \
31218822Sdim	libbfd.c \
32218822Sdim	linker.c \
33218822Sdim	merge.c \
34218822Sdim	opncls.c \
35218822Sdim	reloc.c \
36218822Sdim	section.c \
37218822Sdim	simple.c \
38218822Sdim	srec.c \
39218822Sdim	stab-syms.c \
40218822Sdim	stabs.c \
41218822Sdim	syms.c \
42218822Sdim	targets.c \
43218822Sdim	targmatch.h \
44218822Sdim	tekhex.c
45203434Simp.if (${TARGET_ARCH} == "ia64" || ${TARGET_ARCH} == "sparc64")
46126197SjohanWARNS?=	2
4792257Sobrien.endif
48130575SobrienCFLAGS+= -D_GNU_SOURCE
4984902SobrienCFLAGS+= -I${SRCDIR}/bfd
50136910SruINTERNALLIB=
51130575SobrienCLEANFILES+=	bfdver.h config.h targmatch.h
5233975Sjdp
5335711SjbSELARCH=
54114050Sobrien.if ${TARGET_ARCH} == "amd64"
55114050SobrienSELARCH= &bfd_i386_arch
56114050Sobrien.elif ${TARGET_ARCH} == "sparc64"
5784902SobrienSELARCH= &bfd_sparc_arch
5858953Ssteve.else
5935711Sjb.for _a in ${ARCHS}
6035711Sjb.if ${SELARCH} == ""
6184902SobrienSELARCH+= &bfd_${_a}_arch
6235711Sjb.else
6384902SobrienSELARCH+= ,&bfd_${_a}_arch
6435711Sjb.endif
6535711Sjb.endfor
6658953Ssteve.endif
6784902SobrienCFLAGS+= -DSELECT_ARCHITECTURES="${SELARCH}"
6835711Sjb
6935711SjbSELVEC=
7035711Sjb.for _v in ${VECS}
71107506SobrienCFLAGS+= -DHAVE_${_v}
7235711Sjb.if ${SELVEC} == ""
7384902SobrienSELVEC+= &${_v}
7435711Sjb.else
7584902SobrienSELVEC+= ,&${_v}
7635711Sjb.endif
7735711Sjb.endfor
7884902SobrienCFLAGS+= -DSELECT_VECS="${SELVEC}"
79131832SobrienCFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
80218822SdimCFLAGS+= -DDEBUGDIR="NULL"
8135711Sjb
82130575Sobrien# XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}...
83130575Sobrienbfdver.h: Makefile
84218822Sdim	echo '#define BFD_VERSION	217500000'	> ${.TARGET}
85218822Sdim	echo '#define BFD_VERSION_DATE	20070703'	>> ${.TARGET}
86130575Sobrien	echo '#define BFD_VERSION_STRING ${VERSION}'	>> ${.TARGET}
87218822Sdim	echo '#define REPORT_BUGS_TO "<http://www.freebsd.org/send-pr.html>"' >> ${.TARGET}
88130575Sobrien
8933975Sjdptargmatch.h: targmatch.sed config.bfd
9033975Sjdp	sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET}
91130740Smarcel
9284905Sobrienconfig.h: config.h.fbsd
93103780Sobrien.if ${TARGET_ARCH} == "i386"
9484905Sobrien	sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} > ${.TARGET}
9584905Sobrien.else
9684905Sobrien	sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET}
9784905Sobrien.endif
9833975Sjdp
99131832SobrienCLEANFILES+=	elf32-target.h elf64-target.h
100130743Smarcelelf32-target.h: elfxx-target.h
101130743Smarcel	sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET}
102130743Smarcel
103130743Smarcelelf64-target.h: elfxx-target.h
104130743Smarcel	sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET}
105130743Smarcel
10633975Sjdp.include <bsd.lib.mk>
107