1#         $NetBSD: Makefile,v 1.21 2024/08/27 21:50:00 christos Exp $
2
3NOCTF=
4NOMAN=
5.include <bsd.own.mk>
6.include "../Makefile.inc"
7
8GDBLIBDIR=${.CURDIR}/../../lib
9GDBARCHDIR=${GDBLIBDIR}/libgdb/arch/${GDB_MACHINE_ARCH}
10.include "${GDBARCHDIR}/defs.mk"
11
12PROG=               gdbtui
13
14SRCS=               tui-main.c
15CPPFLAGS+=          -I${.CURDIR} \
16                    -I${GNULIBDIR}/libgnulib/arch/${GDB_MACHINE_ARCH}/gnulib \
17                    -I${DIST}/gdb \
18                    -I${DIST}/gdbsupport \
19                    -I${DIST}/gdb/config \
20                    -I${DIST}/gnulib/import \
21                    -I${DIST}/include/opcode \
22                    -I${DIST}/readline \
23                    -I${DIST}/libdecnumber \
24                    -I${DIST} \
25                    -I${GDBARCHDIR} \
26                    -I${GDBLIBDIR}/libgdbsupport/arch/${GDB_MACHINE_ARCH} \
27                    -I${GDBLIBDIR}/libbfd/arch/${GDB_MACHINE_ARCH} \
28                    -I${GDBLIBDIR}/libgnulib/arch/${GDB_MACHINE_ARCH} \
29                    -I${GDBLIBDIR}/libgnulib/arch/${GDB_MACHINE_ARCH}/gnulib/import \
30                    -I${DIST}/bfd \
31                    -I${DIST}/include \
32                    -include ${DIST}/gdb/defs.h \
33                    ${GCPPFLAGS:M-D*}
34
35.include "../../Makefile.inc"
36.include <bsd.info.mk>
37
38PROGDPLIBS+= gdb ${GDBLIBDIR}/libgdb
39# XXX: modula2 won't load otherwise, since nothing brings the m2-objs in.
40LIBGDBDIR!=         cd ${GDBLIBDIR}/libgdb && ${PRINTOBJDIR}
41LDADD+=             ${LIBGDBDIR}/m2-lang.o
42#LDADD+= -L${LIBGDBDIR} -Wl,--whole-archive -lgdb -Wl,-no-whole-archive
43#DPADD+= ${LIBGDBDIR}/libgdb.a
44
45# Simulator support
46#.if ${GDB_MACHINE_ARCH} == powerpc || ${GDB_MACHINE_ARCH} == powerpcle || \
47#    ${GDB_MACHINE_ARCH} == powerpc64
48#PROGDPLIBS+= sim ${GDBLIBDIR}/libsim
49#.elif ${MACHINE_CPU} == xxmips
50#PROGDPLIBS+= sim ${GDBLIBDIR}/libsim
51#.endif
52
53PROGDPLIBS+= opcodes ${GDBLIBDIR}/libopcodes \
54    bfd ${GDBLIBDIR}/libbfd \
55    decnumber ${GDBLIBDIR}/libdecnumber \
56    gdbsupport ${GDBLIBDIR}/libgdbsupport \
57    backtrace ${GDBLIBDIR}/libbacktrace \
58    sframe ${GDBLIBDIR}/libsframe \
59    ctf ${GDBLIBDIR}/libctf \
60    gnulib ${GDBLIBDIR}/libgnulib \
61    iberty ${GDBLIBDIR}/libiberty \
62    mpfr ${MPFRDIR}/lib/libmpfr
63
64.if ${USE_LIBEDIT} == yes
65LDADD+= -ledit
66DPADD+= ${LIBEDIT}
67.else
68PROGDPLIBS+= readline ${GDBLIBDIR}/libreadline
69.endif
70
71.include <bsd.prog.mk>
72
73LIBGMP!=  cd ${.CURDIR}/../../../../lgpl3/gmp/lib/libgmp && ${PRINTOBJDIR}
74LDADD+= -L${LIBGMP} -lgmp
75DPADD+= ${LIBGMP}/libgmp.a
76
77LDADD+=   -lexpat -llzma -lz -lcurses -lterminfo -lintl -lm -lkvm -lutil -lpthread
78DPADD+=   ${LIBEXPAT} ${LIBLZMA} ${LIBZ} ${LIBCURSES} ${LIBTERMINFO} ${LIBINTL} \
79    ${LIBM} ${LIBKVM} ${LIBUTIL} ${LIBPTHREAD}
80
81# Force c++
82CWARNFLAGS.clang+=  -Wno-deprecated
83HOST_CC:=           ${HOST_CXX}
84HOST_CFLAGS+=                 ${HOST_CXXFLAGS}
85CC:=                          ${CXX}
86CFLAGS:=            ${CXXFLAGS} -std=gnu++17 -Wno-error=stack-protector
87
88.PATH: ${DIST}/gdb ${DIST}/gdb/mi ${DIST}/gdb/cli ${DIST}/gdb/tui \
89    ${DIST}/gdb/signals ${DIST}/gdb/syscalls ${DIST}/gdb/doc \
90    ${.CURDIR}/../arch/${GDB_MACHINE_ARCH}
91