xref: /netbsd-src/external/gpl3/gdb/lib/libgdb/Makefile (revision 9fb66d812c00ebfb445c0b47dea128f32aa6fe96)
1#	$NetBSD: Makefile,v 1.29 2020/12/06 04:08:53 christos Exp $
2
3NOCTF=
4HOSTPROG_CXX=   1
5
6.include <bsd.own.mk>
7
8.include "../Makefile.inc"
9
10LIBISPRIVATE=	yes
11LIB=		gdb
12GDBARCHDIR=	${.CURDIR}/arch/${GDB_MACHINE_ARCH}
13
14.include "${GDBARCHDIR}/defs.mk"
15
16SRCS=		${G_LIBGDB_OBS:.o=.c} dwarf2-frame.c
17GCPPFLAGS=	${G_INTERNAL_CFLAGS}
18CPPFLAGS+=	-I${.CURDIR} \
19		-I${GDBARCHDIR} \
20		-I${DIST} \
21		-I${DIST}/gdb \
22		-I${DIST}/gdbsupport \
23		-I${DIST}/gdb/config \
24		-I${DIST}/gnulib/import \
25		-I${DIST}/include/opcode \
26		-I${DIST}/readline \
27		-I${DIST}/libdecnumber \
28		-I${.CURDIR}/../libgnulib/arch/${GDB_MACHINE_ARCH} \
29		-I${.CURDIR}/../libgnulib/arch/${GDB_MACHINE_ARCH}/gnulib/import \
30		-I${.CURDIR}/../libgdbsupport/arch/${GDB_MACHINE_ARCH} \
31		-I${.CURDIR}/../libbfd/arch/${GDB_MACHINE_ARCH} \
32		-I${.CURDIR}/../libdecnumber/arch/${GDB_MACHINE_ARCH} \
33		-I${DIST}/bfd \
34		-I${DIST}/include \
35		-Dsighandler_t=sig_t \
36		-DTARGET_SYSTEM_ROOT=\"\" \
37		-DTARGET_SYSTEM_ROOT_RELOCATABLE=0 \
38		-DBINDIR=\"${BINDIR}\" \
39		${GCPPFLAGS:M-D*}
40
41CWARNFLAGS.clang+=	-Wno-switch
42
43.include "../../Makefile.inc"
44.include <bsd.lib.mk>
45
46# Force c++
47CWARNFLAGS.clang+=	-Wno-deprecated
48HOST_CC:=		${HOST_CXX}
49CC:=			${CXX}
50CFLAGS:=		${CXXFLAGS} -std=gnu++11 -Wno-error=stack-protector
51
52.PATH: ${DIST}/gdb ${DIST}/gdb/arch ${DIST}/gdb/mi ${DIST}/gdb/cli  \
53    ${DIST}/gdb/tui ${DIST}/gdb/python ${DIST}/gdb/common ${DIST}/gdb/target \
54    ${DIST}/gdb/nat ${DIST}/gdb/guile ${DIST}/gdb/compile ${DIST}/gdb/doc \
55    ${DIST}/gdb/dwarf2 ${DIST}/gdb/unittests \
56    ${GDBARCHDIR}
57
58#
59
60ada-exp.c: ada-lex.c
61
62.if ${MACHINE_CPU} == "arm"
63. if ${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8
64# XXX taken from GDB 8.3; not tested for GDB 11:
65# GCC 8.4/9.3 miscompile this with -O[21] for earmv7hf{,eb}.
66# GCC 9.3 miscompile this with -O2 for earmv5hf{,eb}.
67COPTS.expr.c+=	-O0
68# GCC 9.3 miscompile this with -O2 for earmv5hf{,eb}.
69COPTS.loc.c+=	-O0
70. endif
71.endif
72
73.if ${MACHINE} == "vax"
74. if ${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8
75COPTS.read.c+=	-O0
76. endif
77.endif
78
79# These are generated by implicit rules and are not easy to generate
80CLEANDIRFILES+= \
81	ada-exp.c ada-lex.c \
82	c-exp.c \
83	d-exp.c \
84	cp-name-parser.c \
85	f-exp.c \
86	go-exp.c \
87	jv-exp.c \
88	m2-exp.c \
89	p-exp.c \
90	rust-exp.c
91
92# corelow.c
93CWARNFLAGS.gcc+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-error=alloca-larger-than= :}
94