Makefile revision 1.33
11.33Smrg#	$NetBSD: Makefile,v 1.33 2016/12/23 10:19:57 mrg Exp $
21.1Sad
31.7SchristosPROG=		crash
41.7SchristosMAN=		crash.8
51.3SchristosRUMPKERNEL=	yes	# XXX: Avoid -mcmodel=kernel
61.1Sad
71.12SjoergCWARNFLAGS.clang+=	-Wno-format
81.12Sjoerg
91.14SskrllLDADD+=	-lutil -lkvm -ledit -lterminfo
101.7SchristosDPADD+=	${LIBUTIL} ${LIBKVM} ${LIBEDIT} ${LIBTERMINFO}
111.1Sad
121.27Sskrll.include <bsd.own.mk>
131.27Sskrll
141.1Sad# some ddb kernel components need limited modifications.  for now,
151.1Sad# punt if not noted as implemented here.
161.10Smrg.if    ${MACHINE} == "amd64" \
171.25Sskrll    || ${MACHINE} == "hppa" \
181.10Smrg    || ${MACHINE} == "i386" \
191.32Smrg    || ${MACHINE} == "sparc" \
201.16Smlelstv    || ${MACHINE} == "sparc64" \
211.27Sskrll    || (${MACHINE_CPU} == "arm" && ${MACHINE} != "acorn26") \
221.16Smlelstv    || ${MACHINE_ARCH} == "m68k"
231.17SchristosSRCS+=	db_trace.c
241.32Smrg.if ${MACHINE_ARCH} == "sparc"
251.32SmrgSRCS+=	db_interface.c
261.32Smrg.elif ${MACHINE_ARCH} != "m68k"
271.17SchristosSRCS+=	db_machdep.c
281.21Schristos.endif
291.10SmrgREALCRASH=yes
301.1Sad.else
311.10SmrgREALCRASH=no
321.10Smrg.endif
331.10Smrg
341.10Smrg.if ${REALCRASH} != "no"	# {
351.1Sad
361.7SchristosS=		${.CURDIR}/../../sys
371.1Sad
381.1SadCPPFLAGS+=	-I${.CURDIR} -I${.OBJDIR} -I${S} -fno-strict-aliasing
391.1SadCPPFLAGS+=	-DDDB_VERBOSE_HELP -DDB_MAX_LINE=10000000 -D_KMEMUSER
401.31SchristosCPPFLAGS+=	-UDB_MACHINE_COMMANDS
411.1Sad
421.1Sad# ddb files from kernel
431.1Sad.PATH:	$S/ddb
441.1SadSRCS+=	db_command.c db_lwp.c db_proc.c db_xxx.c db_cpu.c
451.1SadSRCS+=	db_access.c db_elf.c db_examine.c
461.1SadSRCS+=	db_expr.c db_lex.c db_output.c db_print.c
471.1SadSRCS+=	db_sym.c db_variables.c db_write_cmd.c
481.1Sad
491.7Schristos.PATH:	${S}/arch/${MACHINE}/${MACHINE}
501.15Sskrll.PATH:	${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
511.10SmrgSRCS+=	db_disasm.c
521.7Schristos
531.28Schristos.PATH:  $S/kern
541.28SchristosSRCS+=	kern_timeout.c
551.29SchristosCPPFLAGS.kern_timeout.c += -DCRASH -DDDB
561.28Schristos
571.17SchristosCPPFLAGS+=	-I${S}/arch
581.17Schristos
591.10Smrg. if    ${MACHINE} == "amd64" \
601.10Smrg     || ${MACHINE} == "i386"
611.11SchristosMACHINE_FAMILY = x86
621.32Smrg. elif  ${MACHINE} == "sparc64"
631.24SchristosMACHINE_FAMILY = sparc
641.11Schristos. else
651.27SskrllMACHINE_FAMILY = ${MACHINE_CPU}
661.10Smrg. endif
671.10Smrg
681.27Sskrll.if ${MACHINE_CPU} == "arm"
691.17Schristos.PATH:	${S}/arch/arm/arm32
701.22SskrllSRCS+=disassem.c cpufunc_asm.S
711.17Schristos.endif
721.1Sad
731.17Schristos.PATH:	${S}/arch/${MACHINE_FAMILY}/${MACHINE_FAMILY}
741.16Smlelstv
751.1Sad# crash main source
761.1SadSRCS+=	crash.c
771.1Sad
781.1Sad# arch.c
791.1Sad.PATH:	${.CURDIR}/arch
801.11Schristos. if (exists(${.CURDIR}/arch/${MACHINE_FAMILY}.c))
811.11SchristosSRCS+=	${MACHINE_FAMILY}.c
821.7Schristos. else
831.1SadSRCS+=	generic.c
841.7Schristos. endif
851.1Sad
861.13SchristosCOPTS.db_output.c += -Wno-format-nonliteral
871.13Schristos
881.1Sad# vers.c
891.1SadSRCS+=	vers.c
901.23Sapbvers.c:	${S}/conf/newvers.sh ${_NETBSD_VERSION_DEPENDS}
911.18Schristos	${HOST_SH} ${S}/conf/newvers.sh -r -n
921.1SadCLEANFILES+=	vers.c version
931.1Sad
941.10Smrg.else				# } {
951.10Smrg
961.10SmrgSRCS+=	unsupported.c
971.10Smrg
981.10Smrg.endif				# }
991.1Sad
1001.33Smrg.include "../../compat/exec.mk"
1011.33Smrg
1021.1Sad.include <bsd.prog.mk>
1031.1Sad.include <bsd.klinks.mk>
104