Home | History | Annotate | Line # | Download | only in libbfd
      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