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