xref: /dflybsd-src/gnu/usr.bin/gdb/libbfd/Makefile (revision 3ba0a4075f8665a6289a0c4430ba2be1c5f0f195)
1b6fca148SJoerg Sonnenberger.include "../Makefile.inc"
2b6fca148SJoerg Sonnenberger
3b6fca148SJoerg SonnenbergerLIB=	bfd
4b6fca148SJoerg SonnenbergerINTERNALLIB=	true
5b6fca148SJoerg Sonnenberger
6b6fca148SJoerg SonnenbergerCONTRIBDIR=	${BASEDIR}/bfd
7b6fca148SJoerg Sonnenberger.PATH:	${CONTRIBDIR}
8b6fca148SJoerg Sonnenberger
9b6fca148SJoerg SonnenbergerCFLAGS+=	-I${BASEDIR}/include -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR}
100c3d4888SSimon Schubert# XXX no clue what DEBUGDIR is for
110c3d4888SSimon SchubertCFLAGS+=	-DDEBUGDIR='"/usr/lib/debug"'
12b6fca148SJoerg Sonnenberger
13*3ba0a407SzrjSRCS=	archive.c archures.c bfd.c bfdio.c \
14f17ea84bSSimon Schubert	cache.c coffgen.c corefile.c format.c init.c libbfd.c \
15f17ea84bSSimon Schubert	opncls.c reloc.c section.c syms.c targets.c hash.c \
16f17ea84bSSimon Schubert	linker.c srec.c binary.c tekhex.c ihex.c stabs.c \
17f17ea84bSSimon Schubert	stab-syms.c merge.c dwarf2.c simple.c compress.c \
18c33252afSJohn Marino	verilog.c elf-nacl.c
19b6fca148SJoerg Sonnenberger
20*3ba0a407Szrj# only when USE_MMAP (--with-mmap)
21*3ba0a407Szrj#SRCS+=	bfdwin.c
22*3ba0a407Szrj
23f17ea84bSSimon SchubertSRCS+=		targmatch.h elf32-target.h elf64-target.h
24b6fca148SJoerg SonnenbergerCLEANFILES+=	elf64-target.h elf32-target.h targmatch.h
25b6fca148SJoerg Sonnenberger
26b6fca148SJoerg Sonnenbergertargmatch.h: config.bfd targmatch.sed
27b6fca148SJoerg Sonnenberger	sed -f ${CONTRIBDIR}/targmatch.sed < ${CONTRIBDIR}/config.bfd > ${.TARGET}
28b6fca148SJoerg Sonnenberger
29b6fca148SJoerg Sonnenbergerelf32-target.h: elfxx-target.h
30b6fca148SJoerg Sonnenberger	sed -e s/NN/32/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET}
31b6fca148SJoerg Sonnenbergerelf64-target.h: elfxx-target.h
32b6fca148SJoerg Sonnenberger	sed -e s/NN/64/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET}
33b6fca148SJoerg Sonnenberger
34643b986cSSimon SchubertTARGET_ARCH?=	${MACHINE_ARCH}
35643b986cSSimon Schubert.include "Makefile.${TARGET_ARCH}"
36643b986cSSimon Schubert
37187b297aSSimon Schubert_selvec=
38e6568234SSimon Schubert.for _v in ${VECTORS}
39e6568234SSimon SchubertCFLAGS+= -DHAVE_${_v}
40187b297aSSimon Schubert.if !empty(_selvec)
41187b297aSSimon Schubert_selvec+= ,
42187b297aSSimon Schubert.endif
43187b297aSSimon Schubert_selvec+= &${_v}
44e6568234SSimon Schubert.endfor
45187b297aSSimon SchubertCFLAGS+= -DSELECT_VECS='${_selvec}'
46187b297aSSimon SchubertCFLAGS+= -DSELECT_ARCHITECTURES='${ARCHITECTURES:S/^/\&/:S/$/,/} 0'
47e6568234SSimon SchubertCFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
48e6568234SSimon Schubert
49e6568234SSimon Schubert
50a938cc15SJohn MarinoSRCS+=		bfd.h
51a938cc15SJohn MarinoCLEANFILES+=	bfd.h
52643b986cSSimon Schubert
53643b986cSSimon Schubert# Used to do keyword replacement in bfd-X.h
54643b986cSSimon Schubert#
55643b986cSSimon SchubertBFD_HOST_64_BIT_DEFINED?=1
56643b986cSSimon SchubertBFD_HOST_LONG_LONG?=1
57643b986cSSimon Schubert.include "Makefile.host.${MACHINE_ARCH}"
58643b986cSSimon Schubert
59643b986cSSimon Schubertbfd.h: 	${CONTRIBDIR}/bfd-in2.h
60643b986cSSimon Schubert	sed -e "s/@wordsize@/${BFD_ARCH_SIZE}/g" \
61643b986cSSimon Schubert	    -e "s/@bfd_default_target_size@/${BFD_DEFAULT_TARGET_SIZE}/g" \
62643b986cSSimon Schubert	    -e "s/@BFD_HOST_64BIT_LONG@/${BFD_HOST_64BIT_LONG}/g" \
63643b986cSSimon Schubert	    -e "s/@BFD_HOST_64BIT_LONG_LONG@/${BFD_HOST_64BIT_LONG_LONG}/g" \
64643b986cSSimon Schubert	    -e "s/@BFD_HOST_64_BIT@/${BFD_HOST_64_BIT}/g" \
65643b986cSSimon Schubert	    -e "s/@BFD_HOST_U_64_BIT@/${BFD_HOST_U_64_BIT}/g" \
66643b986cSSimon Schubert	    -e "s/@BFD_HOST_64_BIT_DEFINED@/${BFD_HOST_64_BIT_DEFINED}/g" \
67643b986cSSimon Schubert	    -e "s/@BFD_HOST_LONG_LONG@/${BFD_HOST_LONG_LONG}/g" \
68643b986cSSimon Schubert	    -e "s/@bfd_file_ptr@/${BFD_HOST_64_BIT}/g" \
69643b986cSSimon Schubert	    -e "s/@BFD_HOSTPTR_T@/${BFD_HOSTPTR_T}/g" \
70643b986cSSimon Schubert	    < ${CONTRIBDIR}/bfd-in2.h > bfd.h.new
71643b986cSSimon Schubert	mv -f bfd.h.new bfd.h
72643b986cSSimon Schubert
730c3d4888SSimon SchubertSRCS+=		bfd_stdint.h
740c3d4888SSimon SchubertCLEANFILES+=	bfd_stdint.h
750c3d4888SSimon Schubert
760c3d4888SSimon Schubertbfd_stdint.h:
770c3d4888SSimon Schubert	touch ${.TARGET}
780c3d4888SSimon Schubert
79b6fca148SJoerg Sonnenberger.include <bsd.lib.mk>
80