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