Makefile revision 1.52
11.52Sskrll# $NetBSD: Makefile,v 1.52 2024/11/19 18:15:29 skrll 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.52Sskrll.if \ 171.52Sskrll ${MACHINE_CPU} == "aarch64" \ 181.38Sskrll || ${MACHINE_CPU} == "arm" \ 191.45Smrg || ${MACHINE_CPU} == "mips" \ 201.50Sthorpej || ${MACHINE_ARCH} == "alpha" \ 211.47Sriastrad || ${MACHINE_ARCH} == "m68k" \ 221.47Sriastrad || ${MACHINE_ARCH} == "powerpc" \ 231.52Sskrll || ${MACHINE_ARCH} == "powerpc64" \ 241.52Sskrll || ${MACHINE} == "amd64" \ 251.52Sskrll || ${MACHINE} == "hppa" \ 261.52Sskrll || ${MACHINE} == "i386" \ 271.52Sskrll || ${MACHINE} == "sparc" \ 281.52Sskrll || ${MACHINE} == "sparc64" 291.17SchristosSRCS+= db_trace.c 301.50Sthorpej.if ${MACHINE_ARCH} == "alpha" 311.50SthorpejSRCS+= db_interface.c 321.50Sthorpej.elif ${MACHINE_CPU} == "mips" 331.45SmrgSRCS+= db_interface.c mips_stacktrace.c 341.45SmrgCPPFLAGS+= -DDDB 351.47Sriastrad.elif ${MACHINE_ARCH} != "m68k" \ 361.47Sriastrad && ${MACHINE_ARCH} != "powerpc" \ 371.47Sriastrad && ${MACHINE_ARCH} != "powerpc64" 381.17SchristosSRCS+= db_machdep.c 391.21Schristos.endif 401.10SmrgREALCRASH=yes 411.1Sad.else 421.10SmrgREALCRASH=no 431.10Smrg.endif 441.10Smrg 451.10Smrg.if ${REALCRASH} != "no" # { 461.1Sad 471.7SchristosS= ${.CURDIR}/../../sys 481.1Sad 491.1SadCPPFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${S} -fno-strict-aliasing 501.1SadCPPFLAGS+= -DDDB_VERBOSE_HELP -DDB_MAX_LINE=10000000 -D_KMEMUSER 511.31SchristosCPPFLAGS+= -UDB_MACHINE_COMMANDS 521.1Sad 531.49Sriastrad# XXX 541.49Sriastrad.if ${MACHINE} == "evbppc" 551.49SriastradCPPFLAGS+= -DPPC_INTR_IMPL="<powerpc/intr.h>" 561.49Sriastrad.endif 571.49Sriastrad 581.1Sad# ddb files from kernel 591.1Sad.PATH: $S/ddb 601.1SadSRCS+= db_command.c db_lwp.c db_proc.c db_xxx.c db_cpu.c 611.39SmlelstvSRCS+= db_autoconf.c 621.1SadSRCS+= db_access.c db_elf.c db_examine.c 631.1SadSRCS+= db_expr.c db_lex.c db_output.c db_print.c 641.49SriastradSRCS+= db_sym.c db_syncobj.c db_variables.c db_write_cmd.c 651.1Sad 661.7Schristos.PATH: ${S}/arch/${MACHINE}/${MACHINE} 671.15Sskrll.PATH: ${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} 681.10SmrgSRCS+= db_disasm.c 691.7Schristos 701.28Schristos.PATH: $S/kern 711.28SchristosSRCS+= kern_timeout.c 721.29SchristosCPPFLAGS.kern_timeout.c += -DCRASH -DDDB 731.28Schristos 741.44SrinCPPFLAGS +=-DLOCKDEBUG 751.44SrinSRCS += subr_lockdebug.c 761.44SrinCPPFLAGS.subr_lockdebug.c += -DCRASH -DDDB 771.44Srin 781.17SchristosCPPFLAGS+= -I${S}/arch 791.17Schristos 801.10Smrg. if ${MACHINE} == "amd64" \ 811.10Smrg || ${MACHINE} == "i386" 821.11SchristosMACHINE_FAMILY = x86 831.32Smrg. elif ${MACHINE} == "sparc64" 841.24SchristosMACHINE_FAMILY = sparc 851.11Schristos. else 861.27SskrllMACHINE_FAMILY = ${MACHINE_CPU} 871.10Smrg. endif 881.10Smrg 891.27Sskrll.if ${MACHINE_CPU} == "arm" 901.17Schristos.PATH: ${S}/arch/arm/arm32 911.22SskrllSRCS+=disassem.c cpufunc_asm.S 921.17Schristos.endif 931.41Sjakllsch.if ${MACHINE_CPU} == "aarch64" 941.41SjakllschSRCS+=disasm.c 951.41Sjakllsch.endif 961.1Sad 971.17Schristos.PATH: ${S}/arch/${MACHINE_FAMILY}/${MACHINE_FAMILY} 981.16Smlelstv 991.1Sad# crash main source 1001.1SadSRCS+= crash.c 1011.1Sad 1021.1Sad# arch.c 1031.1Sad.PATH: ${.CURDIR}/arch 1041.11Schristos. if (exists(${.CURDIR}/arch/${MACHINE_FAMILY}.c)) 1051.11SchristosSRCS+= ${MACHINE_FAMILY}.c 1061.7Schristos. else 1071.1SadSRCS+= generic.c 1081.7Schristos. endif 1091.1Sad 1101.13SchristosCOPTS.db_output.c += -Wno-format-nonliteral 1111.13Schristos 1121.40Schristos.if ${MKREPRO} == "yes" 1131.40Schristos. if ${MKREPRO_TIMESTAMP:U0} != 0 1141.40SchristosNVFLAGS+=-r ${MKREPRO_TIMESTAMP} 1151.40Schristos. else 1161.40SchristosNVFLAGS+=-R 1171.40Schristos. endif 1181.40Schristos.endif 1191.40Schristos 1201.1Sad# vers.c 1211.1SadSRCS+= vers.c 1221.23Sapbvers.c: ${S}/conf/newvers.sh ${_NETBSD_VERSION_DEPENDS} 1231.51Schristos TOOL_DATE=${TOOL_DATE} ${HOST_SH} ${S}/conf/newvers.sh ${NVFLAGS} -n -m ${MACHINE} -i CRASH 1241.1SadCLEANFILES+= vers.c version 1251.1Sad 1261.10Smrg.else # } { 1271.10Smrg 1281.10SmrgSRCS+= unsupported.c 1291.10Smrg 1301.10Smrg.endif # } 1311.1Sad 1321.36Schristos.if ${MACHINE} == "sparc" \ 1331.36Schristos || ${MACHINE} == "sparc64" 1341.34SchristosCOPTS.kern_timeout.c += -Wno-stack-protector 1351.36Schristos.endif 1361.34Schristos 1371.33Smrg.include "../../compat/exec.mk" 1381.33Smrg 1391.48SlukemCOPTS.db_command.c+= ${CC_WNO_CAST_FUNCTION_TYPE} 1401.42Smrg 1411.46SmrgCOPTS+= -fcommon 1421.46Smrg 1431.1Sad.include <bsd.prog.mk> 1441.1Sad.include <bsd.klinks.mk> 145