Makefile revision 1.17
1#	$NetBSD: Makefile,v 1.17 2012/02/16 02:37:43 christos Exp $
2
3PROG=		crash
4MAN=		crash.8
5RUMPKERNEL=	yes	# XXX: Avoid -mcmodel=kernel
6
7CWARNFLAGS.clang+=	-Wno-format
8
9LDADD+=	-lutil -lkvm -ledit -lterminfo
10DPADD+=	${LIBUTIL} ${LIBKVM} ${LIBEDIT} ${LIBTERMINFO}
11
12# some ddb kernel components need limited modifications.  for now,
13# punt if not noted as implemented here.
14.if    ${MACHINE} == "amd64" \
15    || ${MACHINE} == "hp700" \
16    || ${MACHINE} == "i386" \
17    || ${MACHINE} == "sparc64" \
18    || (${MACHINE_ARCH} == "arm" && ${MACHINE} != "acorn26") \
19    || ${MACHINE_ARCH} == "m68k"
20SRCS+=	db_trace.c
21SRCS+=	db_machdep.c
22REALCRASH=yes
23.else
24REALCRASH=no
25.endif
26
27.if ${REALCRASH} != "no"	# {
28
29S=		${.CURDIR}/../../sys
30
31CPPFLAGS+=	-I${.CURDIR} -I${.OBJDIR} -I${S} -fno-strict-aliasing
32CPPFLAGS+=	-DDDB_VERBOSE_HELP -DDB_MAX_LINE=10000000 -D_KMEMUSER
33CPPFLAGS+=	-UDB_MACHINE_COMMANDS
34
35# ddb files from kernel
36.PATH:	$S/ddb
37SRCS+=	db_command.c db_lwp.c db_proc.c db_xxx.c db_cpu.c
38SRCS+=	db_access.c db_elf.c db_examine.c
39SRCS+=	db_expr.c db_lex.c db_output.c db_print.c
40SRCS+=	db_sym.c db_variables.c db_write_cmd.c
41
42.PATH:	${S}/arch/${MACHINE}/${MACHINE}
43.PATH:	${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
44SRCS+=	db_disasm.c
45
46CPPFLAGS+=	-I${S}/arch
47
48. if    ${MACHINE} == "amd64" \
49     || ${MACHINE} == "i386"
50MACHINE_FAMILY = x86
51. elif  ${MACHINE_ARCH} == "m68k" \
52     || ${MACHINE_ARCH} == "arm"
53MACHINE_FAMILY = ${MACHINE_ARCH}
54. else
55MACHINE_FAMILY = ${MACHINE}
56. endif
57
58.if ${MACHINE_ARCH} == "arm"
59.PATH:	${S}/arch/arm/arm32
60SRCS+=disassem.c setstack.S cpufunc_asm.S
61.endif
62
63.PATH:	${S}/arch/${MACHINE_FAMILY}/${MACHINE_FAMILY}
64
65# crash main source
66SRCS+=	crash.c
67
68# arch.c
69.PATH:	${.CURDIR}/arch
70. if (exists(${.CURDIR}/arch/${MACHINE_FAMILY}.c))
71SRCS+=	${MACHINE_FAMILY}.c
72. else
73SRCS+=	generic.c
74. endif
75
76COPTS.db_output.c += -Wno-format-nonliteral
77
78# vers.c
79SRCS+=	vers.c
80vers.c:	${S}/conf/newvers.sh
81	${HOST_SH} ${S}/conf/newvers.sh -r
82CLEANFILES+=	vers.c version
83
84.else				# } {
85
86SRCS+=	unsupported.c
87
88.endif				# }
89
90.include <bsd.prog.mk>
91.include <bsd.klinks.mk>
92