1 # $NetBSD: Makefile,v 1.15 2026/03/13 22:09:31 christos Exp $ 2 3 .include <bsd.own.mk> 4 .include "../Makefile.inc" 5 6 LIBISPRIVATE= yes 7 8 LIB= bfd 9 10 .include "${.CURDIR}/arch/${GDB_MACHINE_ARCH}/defs.mk" 11 12 GCPPFLAGS= ${G_archdefs} ${G_DEFS} ${G_INCLUDES} ${G_TDEFAULTS} 13 CPPFLAGS+= -I${.CURDIR}/arch/${GDB_MACHINE_ARCH} -I${DIST}/include -I. \ 14 -I${DIST}/bfd ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} \ 15 -DDEBUGDIR=\"/usr/libdata/debug\" -DBINDIR=\"${BINDIR}\" \ 16 -DLIBDIR=\"/usr/libexec\" 17 18 GSRCS= ${G_libbfd_la_OBJECTS:libbfd.lo=lib_bfd.lo} \ 19 ${G_libbfd_la_DEPENDENCIES:M*.lo} 20 SRCS= ${GSRCS:.lo=.c} 21 22 DPSRCS+= elf32-target.h elf64-target.h targmatch.h \ 23 elf32-aarch64.c elf64-aarch64.c \ 24 elf32-ia64.c elf64-ia64.c \ 25 elf32-riscv.c elf64-riscv.c \ 26 peigen.c pex64igen.c 27 CLEANFILES+= elf32-target.h elf64-target.h targmatch.h \ 28 elf32-aarch64.c elf64-aarch64.c \ 29 elf32-ia64.c elf64-ia64.c \ 30 elf32-riscv.c elf64-riscv.c \ 31 peigen.c pex64igen.c 32 33 .PATH: ${DIST}/bfd 34 35 .include <bsd.lib.mk> 36 37 COPTS+= -Wno-stack-protector 38 39 ${OBJS} ${SOBJS}: elf32-target.h elf64-target.h 40 targets.o targets.pico: targmatch.h Makefile 41 42 targmatch.h: config.bfd targmatch.sed 43 ${_MKTARGET_CREATE} 44 ${TOOL_SED} -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} >$@ 45 46 elf32-target.h: elfxx-target.h 47 ${_MKTARGET_CREATE} 48 ${TOOL_SED} -e s/NN/32/g < $> > $@ 49 50 elf64-target.h: elfxx-target.h 51 ${_MKTARGET_CREATE} 52 ${TOOL_SED} -e s/NN/64/g < $> > $@ 53 54 elf64-aarch64.c: elfnn-aarch64.c 55 ${_MKTARGET_CREATE} 56 ${TOOL_SED} -e s/NN/64/g < $> > $@ 57 58 elf32-aarch64.c: elfnn-aarch64.c 59 ${_MKTARGET_CREATE} 60 ${TOOL_SED} -e s/NN/32/g < $> > $@ 61 62 elf32-ia64.c: elfnn-ia64.c 63 ${_MKTARGET_CREATE} 64 ${TOOL_SED} -e s/NN/32/g < $> > $@ 65 66 elf64-ia64.c: elfnn-ia64.c 67 ${_MKTARGET_CREATE} 68 ${TOOL_SED} -e s/NN/64/g < $> > $@ 69 70 elf32-riscv.c: elfnn-riscv.c 71 ${_MKTARGET_CREATE} 72 ${TOOL_SED} -e s/NN/32/g < $> > $@ 73 74 elf64-riscv.c: elfnn-riscv.c 75 ${_MKTARGET_CREATE} 76 ${TOOL_SED} -e s/NN/64/g < $> > $@ 77 78 peigen.c: peXXigen.c 79 ${_MKTARGET_CREATE} 80 ${TOOL_SED} -e s/XX/pe/g < $> > $@ 81 82 pepigen.c: peXXigen.c 83 ${_MKTARGET_CREATE} 84 ${TOOL_SED} -e s/XX/pep/g < $> > $@ 85 86 pex64igen.c: peXXigen.c 87 ${_MKTARGET_CREATE} 88 ${TOOL_SED} -e s/XX/pex64/g < $> > $@ 89 90 pe-aarch64igen.c: peXXigen.c 91 ${_MKTARGET_CREATE} 92 ${TOOL_SED} -e s/XX/peAArch64/g < $> > $@ 93 94 pe-riscv64igen.c: peXXigen.c 95 ${_MKTARGET_CREATE} 96 ${TOOL_SED} -e s/XX/peRiscV64/g < $> > $@ 97