xref: /dragonfly/gnu/usr.bin/gdb/libbfd/Makefile (revision 0fe46dc6)
1.include "../Makefile.inc"
2
3LIB=	bfd
4INTERNALLIB=	true
5
6CONTRIBDIR=	${BASEDIR}/bfd
7.PATH:	${CONTRIBDIR}
8
9CFLAGS+=	-I${BASEDIR}/include -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR}
10# XXX no clue what DEBUGDIR is for
11CFLAGS+=	-DDEBUGDIR='"/usr/lib/debug"'
12
13SRCS=	archive.c archures.c bfd.c bfdio.c \
14	cache.c coffgen.c corefile.c format.c init.c libbfd.c \
15	opncls.c reloc.c section.c syms.c targets.c hash.c \
16	linker.c srec.c binary.c tekhex.c ihex.c stabs.c \
17	stab-syms.c merge.c dwarf2.c simple.c compress.c \
18	verilog.c elf-nacl.c
19
20# only when USE_MMAP (--with-mmap)
21#SRCS+=	bfdwin.c
22
23SRCS+=		targmatch.h elf32-target.h elf64-target.h
24CLEANFILES+=	elf64-target.h elf32-target.h targmatch.h
25
26targmatch.h: config.bfd targmatch.sed
27	sed -f ${CONTRIBDIR}/targmatch.sed < ${CONTRIBDIR}/config.bfd > ${.TARGET}
28
29elf32-target.h: elfxx-target.h
30	sed -e s/NN/32/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET}
31elf64-target.h: elfxx-target.h
32	sed -e s/NN/64/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET}
33
34TARGET_ARCH?=	${MACHINE_ARCH}
35.include "Makefile.${TARGET_ARCH}"
36
37_selvec=
38.for _v in ${VECTORS}
39CFLAGS+= -DHAVE_${_v}
40.if !empty(_selvec)
41_selvec+= ,
42.endif
43_selvec+= &${_v}
44.endfor
45CFLAGS+= -DSELECT_VECS='${_selvec}'
46CFLAGS+= -DSELECT_ARCHITECTURES='${ARCHITECTURES:S/^/\&/:S/$/,/} 0'
47CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
48
49
50SRCS+=		bfd.h
51CLEANFILES+=	bfd.h
52
53# Used to do keyword replacement in bfd-X.h
54#
55BFD_HOST_64_BIT_DEFINED?=1
56BFD_HOST_LONG_LONG?=1
57.include "Makefile.host.${MACHINE_ARCH}"
58
59bfd.h: 	${CONTRIBDIR}/bfd-in2.h
60	sed -e "s/@wordsize@/${BFD_ARCH_SIZE}/g" \
61	    -e "s/@bfd_default_target_size@/${BFD_DEFAULT_TARGET_SIZE}/g" \
62	    -e "s/@BFD_HOST_64BIT_LONG@/${BFD_HOST_64BIT_LONG}/g" \
63	    -e "s/@BFD_HOST_64BIT_LONG_LONG@/${BFD_HOST_64BIT_LONG_LONG}/g" \
64	    -e "s/@BFD_HOST_64_BIT@/${BFD_HOST_64_BIT}/g" \
65	    -e "s/@BFD_HOST_U_64_BIT@/${BFD_HOST_U_64_BIT}/g" \
66	    -e "s/@BFD_HOST_64_BIT_DEFINED@/${BFD_HOST_64_BIT_DEFINED}/g" \
67	    -e "s/@BFD_HOST_LONG_LONG@/${BFD_HOST_LONG_LONG}/g" \
68	    -e "s/@bfd_file_ptr@/${BFD_HOST_64_BIT}/g" \
69	    -e "s/@BFD_HOSTPTR_T@/${BFD_HOSTPTR_T}/g" \
70	    < ${CONTRIBDIR}/bfd-in2.h > bfd.h.new
71	mv -f bfd.h.new bfd.h
72
73SRCS+=		bfd_stdint.h
74CLEANFILES+=	bfd_stdint.h
75
76bfd_stdint.h:
77	touch ${.TARGET}
78
79.include <bsd.lib.mk>
80