Home | History | Annotate | Line # | Download | only in crash
      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