xref: /netbsd-src/external/gpl3/gdb/bin/gdbserver/Makefile (revision df64100ff2ec11c632a0451a2470b09d3df76892)
1#	$NetBSD: Makefile,v 1.9 2024/08/18 04:03:57 rin Exp $
2
3NOCTF=
4.include <bsd.own.mk>
5.include "../Makefile.inc"
6GDBLIBDIR=${.CURDIR}/../../lib
7
8
9PROG=		gdbserver
10
11SERVER_SRCS+=	ax.cc debug.cc dll.cc hostio.cc inferiors.cc
12SERVER_SRCS+=	notif.cc mem-break.cc
13SERVER_SRCS+=	regcache.cc remote-utils.cc server.cc symbol.cc target-ser.cc
14SERVER_SRCS+=	tdesc.cc tracepoint.cc utils.cc waitstatus.c version.cc
15
16NETBSD_SRCS=		netbsd-low.cc fork-child.cc fork-inferior.c netbsd-nat.c
17ARCH_SRCS=		netbsd-${MACHINE}-low.cc ${MACHINE}.c
18SRCS=		${SERVER_SRCS} ${NETBSD_SRCS} ${ARCH_SRCS}
19CPPFLAGS+=	-I${.CURDIR} \
20		-I${.CURDIR}/arch/${GDB_MACHINE_ARCH} \
21		-I${GDBLIBDIR}/libbfd/arch/${GDB_MACHINE_ARCH} \
22		-I${GDBLIBDIR}/libgnulib/arch/${GDB_MACHINE_ARCH}/gnulib \
23		-I${DIST}/gdb \
24		-I${DIST}/gdbserver \
25		-I${DIST}/gdbsupport \
26		-I${DIST}/gdb/regformats \
27		-I${DIST}/gdb/config \
28		-I${DIST}/gnulib/import \
29		-I${DIST} \
30		-I${GDBLIBDIR}/libgdbsupport/arch/${GDB_MACHINE_ARCH} \
31		-I${GDBLIBDIR}/libgnulib/arch/${GDB_MACHINE_ARCH} \
32		-I${GDBLIBDIR}/libgnulib/arch/${GDB_MACHINE_ARCH}/gnulib/import \
33		-I${DIST}/include \
34		-include ${DIST}/gdbserver/server.h \
35		-D_GLIBCXX_USE_CXX11_ABI=1 \
36		-DPROG='"gdbserver"' \
37		${GCPPFLAGS:M-D*}
38
39# /usr/src/current/external/gpl3/gdb/bin/gdbserver/../../dist/gdb/nat/fork-inferior.c:497:15: error: 6 enumeration values not handled in switch: 'TARGET_WAITKIND_VFORK_DONE', 'TARGET_WAITKIND_IGNORE', 'TARGET_WAITKIND_NO_HISTORY'... [-Werror,-Wswitch]
40CXXFLAGS+=	${${ACTIVE_CC} == "clang":? -Wno-error=switch : }
41
42.include "../../Makefile.inc"
43.include <bsd.info.mk>
44
45LIBBFD!=	     cd ${.CURDIR}/../../lib/libbfd	   && ${PRINTOBJDIR}
46LIBGNULIBDIR!=	     cd ${.CURDIR}/../../lib/libgnulib	   && ${PRINTOBJDIR}
47LIBGDBSUPPORTDIR!=   cd ${.CURDIR}/../../lib/libgdbsupport && ${PRINTOBJDIR}
48LIBIBERTYDIR!=	     cd ${.CURDIR}/../../lib/libiberty	   && ${PRINTOBJDIR}
49
50LDADD+= -L${LIBGDBSUPPORTDIR} -lgdbsupport \
51	-L${LIBGNULIBDIR} -lgnulib \
52	-L${LIBIBERTYDIR} -liberty \
53	-lintl
54
55DPADD+=	${LIBGDBSUPPORTDIR}/libgdbsupport.a \
56	${LIBGNULIBDIR}/libgnulib.a \
57	${LIBIBERTYDIR}/libiberty.a \
58	${LIBINTL}
59
60.include <bsd.prog.mk>
61
62# Force c++
63CWARNFLAGS.clang+=	-Wno-deprecated
64HOST_CC:=		${HOST_CXX}
65HOST_CFLAGS+=		${HOST_CXXFLAGS}
66CC:=			${CXX}
67CFLAGS:=		${CXXFLAGS} -std=gnu++17 -Wno-error=stack-protector -pthread
68
69.PATH: ${DIST}/gdbserver ${DIST}/gdb/nat ${DIST}/gdb/arch ${DIST}/gdb/doc \
70	${.CURDIR}/arch/${GDB_MACHINE_ARCH} ${DIST}/gdb/target \
71	${DIST}/../lib/libgdbsupport/arch/${GDB_MACHINE_ARCH}
72