xref: /netbsd-src/external/gpl3/gdb/lib/libbfd/Makefile (revision 22ebeae4b2252475e0ebe332f69734639cb946ea)
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