1 1.53 skrll # $NetBSD: Makefile,v 1.53 2024/11/25 22:04:15 skrll Exp $ 2 1.1 ad 3 1.7 christos PROG= crash 4 1.7 christos MAN= crash.8 5 1.3 christos RUMPKERNEL= yes # XXX: Avoid -mcmodel=kernel 6 1.1 ad 7 1.12 joerg CWARNFLAGS.clang+= -Wno-format 8 1.12 joerg 9 1.14 skrll LDADD+= -lutil -lkvm -ledit -lterminfo 10 1.7 christos DPADD+= ${LIBUTIL} ${LIBKVM} ${LIBEDIT} ${LIBTERMINFO} 11 1.1 ad 12 1.27 skrll .include <bsd.own.mk> 13 1.27 skrll 14 1.1 ad # some ddb kernel components need limited modifications. for now, 15 1.1 ad # punt if not noted as implemented here. 16 1.52 skrll .if \ 17 1.52 skrll ${MACHINE_CPU} == "aarch64" \ 18 1.38 skrll || ${MACHINE_CPU} == "arm" \ 19 1.45 mrg || ${MACHINE_CPU} == "mips" \ 20 1.53 skrll || ${MACHINE_CPU} == "riscv" \ 21 1.50 thorpej || ${MACHINE_ARCH} == "alpha" \ 22 1.47 riastrad || ${MACHINE_ARCH} == "m68k" \ 23 1.47 riastrad || ${MACHINE_ARCH} == "powerpc" \ 24 1.52 skrll || ${MACHINE_ARCH} == "powerpc64" \ 25 1.52 skrll || ${MACHINE} == "amd64" \ 26 1.52 skrll || ${MACHINE} == "hppa" \ 27 1.52 skrll || ${MACHINE} == "i386" \ 28 1.52 skrll || ${MACHINE} == "sparc" \ 29 1.52 skrll || ${MACHINE} == "sparc64" 30 1.17 christos SRCS+= db_trace.c 31 1.53 skrll .if \ 32 1.53 skrll ${MACHINE_ARCH} == "alpha" \ 33 1.53 skrll || ${MACHINE_CPU} == "riscv" 34 1.50 thorpej SRCS+= db_interface.c 35 1.50 thorpej .elif ${MACHINE_CPU} == "mips" 36 1.45 mrg SRCS+= db_interface.c mips_stacktrace.c 37 1.45 mrg CPPFLAGS+= -DDDB 38 1.47 riastrad .elif ${MACHINE_ARCH} != "m68k" \ 39 1.47 riastrad && ${MACHINE_ARCH} != "powerpc" \ 40 1.47 riastrad && ${MACHINE_ARCH} != "powerpc64" 41 1.17 christos SRCS+= db_machdep.c 42 1.21 christos .endif 43 1.10 mrg REALCRASH=yes 44 1.1 ad .else 45 1.10 mrg REALCRASH=no 46 1.10 mrg .endif 47 1.10 mrg 48 1.10 mrg .if ${REALCRASH} != "no" # { 49 1.1 ad 50 1.7 christos S= ${.CURDIR}/../../sys 51 1.1 ad 52 1.1 ad CPPFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${S} -fno-strict-aliasing 53 1.1 ad CPPFLAGS+= -DDDB_VERBOSE_HELP -DDB_MAX_LINE=10000000 -D_KMEMUSER 54 1.31 christos CPPFLAGS+= -UDB_MACHINE_COMMANDS 55 1.1 ad 56 1.49 riastrad # XXX 57 1.49 riastrad .if ${MACHINE} == "evbppc" 58 1.49 riastrad CPPFLAGS+= -DPPC_INTR_IMPL="<powerpc/intr.h>" 59 1.49 riastrad .endif 60 1.49 riastrad 61 1.1 ad # ddb files from kernel 62 1.1 ad .PATH: $S/ddb 63 1.1 ad SRCS+= db_command.c db_lwp.c db_proc.c db_xxx.c db_cpu.c 64 1.39 mlelstv SRCS+= db_autoconf.c 65 1.1 ad SRCS+= db_access.c db_elf.c db_examine.c 66 1.1 ad SRCS+= db_expr.c db_lex.c db_output.c db_print.c 67 1.49 riastrad SRCS+= db_sym.c db_syncobj.c db_variables.c db_write_cmd.c 68 1.1 ad 69 1.7 christos .PATH: ${S}/arch/${MACHINE}/${MACHINE} 70 1.15 skrll .PATH: ${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} 71 1.10 mrg SRCS+= db_disasm.c 72 1.7 christos 73 1.28 christos .PATH: $S/kern 74 1.28 christos SRCS+= kern_timeout.c 75 1.29 christos CPPFLAGS.kern_timeout.c += -DCRASH -DDDB 76 1.28 christos 77 1.44 rin CPPFLAGS +=-DLOCKDEBUG 78 1.44 rin SRCS += subr_lockdebug.c 79 1.44 rin CPPFLAGS.subr_lockdebug.c += -DCRASH -DDDB 80 1.44 rin 81 1.17 christos CPPFLAGS+= -I${S}/arch 82 1.17 christos 83 1.10 mrg . if ${MACHINE} == "amd64" \ 84 1.10 mrg || ${MACHINE} == "i386" 85 1.11 christos MACHINE_FAMILY = x86 86 1.32 mrg . elif ${MACHINE} == "sparc64" 87 1.24 christos MACHINE_FAMILY = sparc 88 1.11 christos . else 89 1.27 skrll MACHINE_FAMILY = ${MACHINE_CPU} 90 1.10 mrg . endif 91 1.10 mrg 92 1.27 skrll .if ${MACHINE_CPU} == "arm" 93 1.17 christos .PATH: ${S}/arch/arm/arm32 94 1.22 skrll SRCS+=disassem.c cpufunc_asm.S 95 1.17 christos .endif 96 1.41 jakllsch .if ${MACHINE_CPU} == "aarch64" 97 1.41 jakllsch SRCS+=disasm.c 98 1.41 jakllsch .endif 99 1.1 ad 100 1.17 christos .PATH: ${S}/arch/${MACHINE_FAMILY}/${MACHINE_FAMILY} 101 1.16 mlelstv 102 1.1 ad # crash main source 103 1.1 ad SRCS+= crash.c 104 1.1 ad 105 1.1 ad # arch.c 106 1.1 ad .PATH: ${.CURDIR}/arch 107 1.11 christos . if (exists(${.CURDIR}/arch/${MACHINE_FAMILY}.c)) 108 1.11 christos SRCS+= ${MACHINE_FAMILY}.c 109 1.7 christos . else 110 1.1 ad SRCS+= generic.c 111 1.7 christos . endif 112 1.1 ad 113 1.13 christos COPTS.db_output.c += -Wno-format-nonliteral 114 1.13 christos 115 1.40 christos .if ${MKREPRO} == "yes" 116 1.40 christos . if ${MKREPRO_TIMESTAMP:U0} != 0 117 1.40 christos NVFLAGS+=-r ${MKREPRO_TIMESTAMP} 118 1.40 christos . else 119 1.40 christos NVFLAGS+=-R 120 1.40 christos . endif 121 1.40 christos .endif 122 1.40 christos 123 1.1 ad # vers.c 124 1.1 ad SRCS+= vers.c 125 1.23 apb vers.c: ${S}/conf/newvers.sh ${_NETBSD_VERSION_DEPENDS} 126 1.51 christos TOOL_DATE=${TOOL_DATE} ${HOST_SH} ${S}/conf/newvers.sh ${NVFLAGS} -n -m ${MACHINE} -i CRASH 127 1.1 ad CLEANFILES+= vers.c version 128 1.1 ad 129 1.10 mrg .else # } { 130 1.10 mrg 131 1.10 mrg SRCS+= unsupported.c 132 1.10 mrg 133 1.10 mrg .endif # } 134 1.1 ad 135 1.36 christos .if ${MACHINE} == "sparc" \ 136 1.36 christos || ${MACHINE} == "sparc64" 137 1.34 christos COPTS.kern_timeout.c += -Wno-stack-protector 138 1.36 christos .endif 139 1.34 christos 140 1.33 mrg .include "../../compat/exec.mk" 141 1.33 mrg 142 1.48 lukem COPTS.db_command.c+= ${CC_WNO_CAST_FUNCTION_TYPE} 143 1.42 mrg 144 1.46 mrg COPTS+= -fcommon 145 1.46 mrg 146 1.1 ad .include <bsd.prog.mk> 147 1.1 ad .include <bsd.klinks.mk> 148