1#         $NetBSD: Makefile,v 1.37 2024/08/14 23:54:50 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.include "${NETBSDSRCDIR}/external/lgpl3/gmp/Makefile.arch"
16
17
18SRCS=               ${G_LIBGDB_OBS:.o=.c}
19SRCS+=              dwarf2-frame.c netbsd-nat-low.c target-low.c
20GCPPFLAGS=          ${G_INTERNAL_CFLAGS}
21CPPFLAGS+=          -I${.CURDIR} \
22                    -I${GDBARCHDIR} \
23                    -I${MPFRDIR}/dist/src \
24                    -I${DIST} \
25                    -I${DIST}/gdb \
26                    -I${DIST}/gdbsupport \
27                    -I${DIST}/gdb/config \
28                    -I${DIST}/gnulib/import \
29                    -I${DIST}/include/opcode \
30                    -I${DIST}/readline \
31                    -I${DIST}/libdecnumber \
32                    -I${DIST}/libbacktrace \
33                    -I${.CURDIR}/../libgnulib/arch/${GDB_MACHINE_ARCH} \
34                    -I${.CURDIR}/../libgnulib/arch/${GDB_MACHINE_ARCH}/gnulib/import \
35                    -I${.CURDIR}/../libbacktrace/arch/${GDB_MACHINE_ARCH} \
36                    -I${.CURDIR}/../libgdbsupport/arch/${GDB_MACHINE_ARCH} \
37                    -I${.CURDIR}/../libbfd/arch/${GDB_MACHINE_ARCH} \
38                    -I${.CURDIR}/../libdecnumber/arch/${GDB_MACHINE_ARCH} \
39                    -I${DIST}/bfd \
40                    -I${DIST}/include \
41                    -I${GMPDIR}/arch/${GMP_MACHINE_ARCH} \
42                    -include ${DIST}/gdb/defs.h \
43                    -Dsighandler_t=sig_t \
44                    -DTARGET_SYSTEM_ROOT=\"\" \
45                    -DTARGET_SYSTEM_ROOT_RELOCATABLE=0 \
46                    -DBINDIR=\"${BINDIR}\" \
47                    ${GCPPFLAGS:M-D*} -D__STDC_ISO_10646__
48
49CWARNFLAGS.clang+=  -Wno-switch
50
51.include "../../Makefile.inc"
52.include <bsd.lib.mk>
53
54# Force c++
55CWARNFLAGS.clang+=  -Wno-deprecated
56HOST_CC:=           ${HOST_CXX}
57HOST_CFLAGS+=                 ${HOST_CXXFLAGS}
58CC:=                          ${CXX}
59CFLAGS:=            ${CXXFLAGS} -std=gnu++17 -Wno-error=stack-protector
60
61.PATH: ${DIST}/gdb ${DIST}/gdb/arch ${DIST}/gdb/mi ${DIST}/gdb/cli  \
62    ${DIST}/gdb/tui ${DIST}/gdb/python ${DIST}/gdb/common ${DIST}/gdb/target \
63    ${DIST}/gdb/nat ${DIST}/gdb/guile ${DIST}/gdb/compile ${DIST}/gdb/doc \
64    ${DIST}/gdb/dwarf2 ${DIST}/gdb/unittests \
65    ${GDBARCHDIR}
66
67#
68
69ada-exp.c: ada-lex.c
70
71# These are generated by implicit rules and are not easy to generate
72CLEANDIRFILES+= \
73          ada-exp.c ada-lex.c \
74          c-exp.c \
75          d-exp.c \
76          cp-name-parser.c \
77          f-exp.c \
78          go-exp.c \
79          jv-exp.c \
80          m2-exp.c \
81          p-exp.c \
82          rust-exp.c
83
84# corelow.c
85CWARNFLAGS.gcc+=    ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-error=alloca-larger-than= :}
86