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