summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/binutils/libbfd/Makefile
blob: aa6f9403a41f230c12aa1e13044950baeffa6a20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#
# $FreeBSD$
#

.include "../Makefile.inc0"

.PATH: ${SRCDIR}/bfd ${SRCDIR}/opcodes

LIB=		bfd
SRCS+=		archive.c archures.c bfd.c binary.c cache.c \
		coffgen.c corefile.c elf.c format.c hash.c ihex.c \
		init.c libbfd.c linker.c opncls.c reloc.c section.c \
		srec.c stab-syms.c stabs.c syms.c targets.c tekhex.c \
		targmatch.h dwarf1.c dwarf2.c
CFLAGS+=	-I${SRCDIR}/bfd
CFLAGS+=	-DBFD_VERSION=\"${VERSION}\"
NOPROFILE=	true
NOPIC=		true
INTERNALLIB=	true
INTERNALSTATICLIB=true
CLEANFILES+=	targmatch.h

# If set, BINUTILSDISTDIR is the path to a directory containing the full GNU
# binutils release. FreeBSD only distributes the bits that are required to
# build native architectures. BINUTILSDISTDIR is needed to build cross tools.
.if	defined(BINUTILSDISTDIR) && exists(${BINUTILSDISTDIR})
.PATH:		${BINUTILSDISTDIR}/bfd ${BINUTILSDISTDIR}/opcodes
CFLAGS+=	-I${BINUTILSDISTDIR}/bfd
CFLAGS+=	-I${BINUTILSDISTDIR}/include
.endif

SELARCH=
.if ${BINUTIL_ARCH} == "sparc64"
SELARCH=&bfd_sparc_arch
.else
.for _a in ${ARCHS}
.if ${SELARCH} == ""
SELARCH+=&bfd_${_a}_arch
.else
SELARCH+=,&bfd_${_a}_arch
.endif
.endfor
.endif
CFLAGS+=	-DSELECT_ARCHITECTURES="${SELARCH}"

SELVEC=
.for _v in ${VECS}
.if ${SELVEC} == ""
SELVEC+=&${_v}
.else
SELVEC+=,&${_v}
.endif
.endfor
CFLAGS+=	-DSELECT_VECS="${SELVEC}"

targmatch.h: targmatch.sed config.bfd
	sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET}

.include <bsd.lib.mk>
OpenPOWER on IntegriCloud