1# $NetBSD: Makefile,v 1.7 2012/06/22 20:32:35 abs Exp $ 2 3NOLINKLIB= # defined 4NOLINT= # defined 5NOMAN= # defined 6NOPROFILE= # defined 7NOCLANGERROR= # defined 8 9.include <bsd.own.mk> 10 11# If the platform does not support shared libraries, we need to supply 12# *something* for BFD-using programs to link against. Also provide an 13# empty libinstall target so that libbfd.a does not get installed. 14.if ${MKPIC} == "no" 15MKLINKLIB= yes 16libinstall: # do nothing 17.endif 18 19LIB= bfd 20 21BFD_MACHINE_ARCH?= ${MACHINE_ARCH} 22 23.if exists(${.CURDIR}/arch/${BFD_MACHINE_ARCH}/defs.mk) 24.include "${.CURDIR}/arch/${BFD_MACHINE_ARCH}/defs.mk" 25 26DIST= ${NETBSDSRCDIR}/external/gpl3/binutils/dist 27 28SHLIB_MAJOR= 12 29SHLIB_MINOR= 0 30 31LIBDPLIBS+= z ${.CURDIR}/../../../../../lib/libz 32 33GCPPFLAGS= ${G_archdefs} ${G_DEFS} ${G_INCLUDES} ${G_TDEFAULTS} 34CPPFLAGS+= -I${.CURDIR}/arch/${BFD_MACHINE_ARCH} -I${DIST}/include -I. \ 35 -I${DIST}/bfd ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} \ 36 -DDEBUGDIR=\"${DEBUGDIR}\" 37 38.if (${MACHINE_ARCH} == "vax") 39CPPFLAGS.elf.c += -O0 40.endif 41 42GSRCS= ${G_libbfd_la_OBJECTS:libbfd.lo=lib_bfd.lo} \ 43 ${G_libbfd_la_DEPENDENCIES:M*.lo} 44SRCS= ${GSRCS:.lo=.c} 45 46DPSRCS+= elf32-target.h elf64-target.h targmatch.h \ 47 elf32-ia64.c elf64-ia64.c peigen.c pepigen.c 48CLEANFILES+= elf32-target.h elf64-target.h targmatch.h \ 49 elf32-ia64.c elf64-ia64.c peigen.c pepigen.c 50 51TEXINFO= bfd.texinfo 52INFOFLAGS= -I${DIST}/bfd/doc 53 54.PATH: ${DIST}/bfd ${DIST}/bfd/doc 55 56.include <bsd.lib.mk> 57.include <bsd.info.mk> 58 59${OBJS} ${SOBJS}: elf32-target.h elf64-target.h 60targets.o targets.pico: targmatch.h Makefile 61.else 62.include <bsd.prog.mk> # do nothing 63.endif 64 65targmatch.h: config.bfd targmatch.sed 66 ${_MKTARGET_CREATE} 67 ${TOOL_SED} -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} >$@ 68 69elf32-target.h: elfxx-target.h 70 ${_MKTARGET_CREATE} 71 ${TOOL_SED} -e s/NN/32/g < $> > $@ 72 73elf64-target.h: elfxx-target.h 74 ${_MKTARGET_CREATE} 75 ${TOOL_SED} -e s/NN/64/g < $> > $@ 76 77elf32-ia64.c: elfxx-ia64.c 78 ${_MKTARGET_CREATE} 79 ${TOOL_SED} -e s/NN/32/g < $> > $@ 80 81elf64-ia64.c: elfxx-ia64.c 82 ${_MKTARGET_CREATE} 83 ${TOOL_SED} -e s/NN/64/g < $> > $@ 84 85peigen.c: peXXigen.c 86 ${_MKTARGET_CREATE} 87 ${TOOL_SED} -e s/XX/pe/g < $> > $@ 88 89pepigen.c: peXXigen.c 90 ${_MKTARGET_CREATE} 91 ${TOOL_SED} -e s/XX/pep/g < $> > $@ 92 93pex64igen.c: peXXigen.c 94 ${_MKTARGET_CREATE} 95 ${TOOL_SED} -e s/XX/pex64/g < $> > $@ 96