1# $NetBSD: Makefile,v 1.8 2020/04/03 17:51:22 christos Exp $ 2 3NOLINKLIB= # defined 4NOLINT= # defined 5NOMAN= # defined 6NOPROFILE= # defined 7NOCLANGERROR= # defined 8 9.include <bsd.init.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:C/armv[4-7]/arm/} 22 23DEFS_MK=${.CURDIR}/arch/${BFD_MACHINE_ARCH}/defs.mk 24# XXX: Fix me 25BINDIR=/usr/bin 26 27.if exists(${DEFS_MK}) 28.include "${DEFS_MK}" 29 30SHLIB_MAJOR= 16 31SHLIB_MINOR= 0 32 33LIBDPLIBS+= z ${.CURDIR}/../../../../../lib/libz 34 35GCPPFLAGS= ${G_archdefs} ${G_DEFS} ${G_INCLUDES} ${G_TDEFAULTS} 36GCPPFLAGS+= ${G_HAVEVECS} 37 38CPPFLAGS+= -I${.CURDIR}/arch/${BFD_MACHINE_ARCH} -I${DIST}/include -I. \ 39 -I${DIST}/bfd ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} \ 40 -DDEBUGDIR=\"${DEBUGDIR}\" -DBINDIR=\"${BINDIR}\" 41 42.if (${BFD_MACHINE_ARCH} == "vax") 43CPPFLAGS.elf.c += -O0 44.endif 45 46COPTS.pei-x86_64.c += -Wno-stack-protector 47COPTS.elfxx-mips.c += -Wno-stack-protector 48 49GSRCS= ${G_libbfd_la_OBJECTS:libbfd.lo=lib_bfd.lo} \ 50 ${G_libbfd_la_DEPENDENCIES:M*.lo} 51SRCS= ${GSRCS:.lo=.c} 52 53DPSRCS+= elf32-target.h elf64-target.h targmatch.h \ 54 elf32-ia64.c elf64-ia64.c peigen.c pepigen.c \ 55 elf32-riscv.c elf64-riscv.c elf32-aarch64.c elf64-aarch64.c \ 56 pex64igen.c 57CLEANFILES+= elf32-target.h elf64-target.h targmatch.h \ 58 elf32-ia64.c elf64-ia64.c peigen.c pepigen.c \ 59 elf32-riscv.c elf64-riscv.c elf32-aarch64.c elf64-aarch64.c \ 60 pex64igen.c 61 62TEXINFO= bfd.texinfo 63INFOFLAGS= -I${DIST}/bfd/doc 64 65.PATH: ${DIST}/bfd ${DIST}/bfd/doc 66 67.include <bsd.lib.mk> 68.include <bsd.info.mk> 69 70${OBJS} ${SOBJS}: elf32-target.h elf64-target.h 71targets.o targets.pico: targmatch.h Makefile 72.else 73.include <bsd.prog.mk> # do nothing 74.endif 75 76targmatch.h: config.bfd targmatch.sed 77 ${_MKTARGET_CREATE} 78 ${TOOL_SED} -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} >$@ 79 80elf32-target.h: elfxx-target.h 81 ${_MKTARGET_CREATE} 82 ${TOOL_SED} -e s/NN/32/g < $> > $@ 83 84elf64-target.h: elfxx-target.h 85 ${_MKTARGET_CREATE} 86 ${TOOL_SED} -e s/NN/64/g < $> > $@ 87 88elf32-ia64.c: elfnn-ia64.c 89 ${_MKTARGET_CREATE} 90 ${TOOL_SED} -e s/NN/32/g < $> > $@ 91 92elf64-ia64.c: elfnn-ia64.c 93 ${_MKTARGET_CREATE} 94 ${TOOL_SED} -e s/NN/64/g < $> > $@ 95 96elf32-riscv.c: elfnn-riscv.c 97 ${_MKTARGET_CREATE} 98 ${TOOL_SED} -e s/NN/32/g < $> > $@ 99 100elf64-riscv.c: elfnn-riscv.c 101 ${_MKTARGET_CREATE} 102 ${TOOL_SED} -e s/NN/64/g < $> > $@ 103 104elf32-aarch64.c: elfnn-aarch64.c 105 ${_MKTARGET_CREATE} 106 ${TOOL_SED} -e s/NN/32/g < $> > $@ 107 108elf64-aarch64.c: elfnn-aarch64.c 109 ${_MKTARGET_CREATE} 110 ${TOOL_SED} -e s/NN/64/g < $> > $@ 111 112peigen.c: peXXigen.c 113 ${_MKTARGET_CREATE} 114 ${TOOL_SED} -e s/XX/pe/g < $> > $@ 115 116pepigen.c: peXXigen.c 117 ${_MKTARGET_CREATE} 118 ${TOOL_SED} -e s/XX/pep/g < $> > $@ 119 120pex64igen.c: peXXigen.c 121 ${_MKTARGET_CREATE} 122 ${TOOL_SED} -e s/XX/pex64/g < $> > $@ 123