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