Makefile revision 1.47
11.47Sriastrad# $NetBSD: Makefile,v 1.47 2023/04/12 17:53:32 riastradh 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.38Sskrll || ${MACHINE_CPU} == "arm" \ 221.41Sjakllsch || ${MACHINE_CPU} == "aarch64" \ 231.45Smrg || ${MACHINE_CPU} == "mips" \ 241.47Sriastrad || ${MACHINE_ARCH} == "m68k" \ 251.47Sriastrad || ${MACHINE_ARCH} == "powerpc" \ 261.47Sriastrad || ${MACHINE_ARCH} == "powerpc64" 271.17SchristosSRCS+= db_trace.c 281.45Smrg.if ${MACHINE_CPU} == "mips" 291.45SmrgSRCS+= db_interface.c mips_stacktrace.c 301.45SmrgCPPFLAGS+= -DDDB 311.47Sriastrad.elif ${MACHINE_ARCH} != "m68k" \ 321.47Sriastrad && ${MACHINE_ARCH} != "powerpc" \ 331.47Sriastrad && ${MACHINE_ARCH} != "powerpc64" 341.17SchristosSRCS+= db_machdep.c 351.21Schristos.endif 361.10SmrgREALCRASH=yes 371.1Sad.else 381.10SmrgREALCRASH=no 391.10Smrg.endif 401.10Smrg 411.10Smrg.if ${REALCRASH} != "no" # { 421.1Sad 431.7SchristosS= ${.CURDIR}/../../sys 441.1Sad 451.1SadCPPFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${S} -fno-strict-aliasing 461.1SadCPPFLAGS+= -DDDB_VERBOSE_HELP -DDB_MAX_LINE=10000000 -D_KMEMUSER 471.31SchristosCPPFLAGS+= -UDB_MACHINE_COMMANDS 481.1Sad 491.1Sad# ddb files from kernel 501.1Sad.PATH: $S/ddb 511.1SadSRCS+= db_command.c db_lwp.c db_proc.c db_xxx.c db_cpu.c 521.39SmlelstvSRCS+= db_autoconf.c 531.1SadSRCS+= db_access.c db_elf.c db_examine.c 541.1SadSRCS+= db_expr.c db_lex.c db_output.c db_print.c 551.1SadSRCS+= db_sym.c db_variables.c db_write_cmd.c 561.1Sad 571.7Schristos.PATH: ${S}/arch/${MACHINE}/${MACHINE} 581.15Sskrll.PATH: ${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} 591.10SmrgSRCS+= db_disasm.c 601.7Schristos 611.28Schristos.PATH: $S/kern 621.28SchristosSRCS+= kern_timeout.c 631.29SchristosCPPFLAGS.kern_timeout.c += -DCRASH -DDDB 641.28Schristos 651.44SrinCPPFLAGS +=-DLOCKDEBUG 661.44SrinSRCS += subr_lockdebug.c 671.44SrinCPPFLAGS.subr_lockdebug.c += -DCRASH -DDDB 681.44Srin 691.17SchristosCPPFLAGS+= -I${S}/arch 701.17Schristos 711.10Smrg. if ${MACHINE} == "amd64" \ 721.10Smrg || ${MACHINE} == "i386" 731.11SchristosMACHINE_FAMILY = x86 741.32Smrg. elif ${MACHINE} == "sparc64" 751.24SchristosMACHINE_FAMILY = sparc 761.11Schristos. else 771.27SskrllMACHINE_FAMILY = ${MACHINE_CPU} 781.10Smrg. endif 791.10Smrg 801.27Sskrll.if ${MACHINE_CPU} == "arm" 811.17Schristos.PATH: ${S}/arch/arm/arm32 821.22SskrllSRCS+=disassem.c cpufunc_asm.S 831.17Schristos.endif 841.41Sjakllsch.if ${MACHINE_CPU} == "aarch64" 851.41SjakllschSRCS+=disasm.c 861.41Sjakllsch.endif 871.1Sad 881.17Schristos.PATH: ${S}/arch/${MACHINE_FAMILY}/${MACHINE_FAMILY} 891.16Smlelstv 901.1Sad# crash main source 911.1SadSRCS+= crash.c 921.1Sad 931.1Sad# arch.c 941.1Sad.PATH: ${.CURDIR}/arch 951.11Schristos. if (exists(${.CURDIR}/arch/${MACHINE_FAMILY}.c)) 961.11SchristosSRCS+= ${MACHINE_FAMILY}.c 971.7Schristos. else 981.1SadSRCS+= generic.c 991.7Schristos. endif 1001.1Sad 1011.13SchristosCOPTS.db_output.c += -Wno-format-nonliteral 1021.13Schristos 1031.40Schristos.if ${MKREPRO} == "yes" 1041.40Schristos. if ${MKREPRO_TIMESTAMP:U0} != 0 1051.40SchristosNVFLAGS+=-r ${MKREPRO_TIMESTAMP} 1061.40Schristos. else 1071.40SchristosNVFLAGS+=-R 1081.40Schristos. endif 1091.40Schristos.endif 1101.40Schristos 1111.1Sad# vers.c 1121.1SadSRCS+= vers.c 1131.23Sapbvers.c: ${S}/conf/newvers.sh ${_NETBSD_VERSION_DEPENDS} 1141.40Schristos ${HOST_SH} ${S}/conf/newvers.sh ${NVFLAGS} -n -m ${MACHINE} -i CRASH 1151.1SadCLEANFILES+= vers.c version 1161.1Sad 1171.10Smrg.else # } { 1181.10Smrg 1191.10SmrgSRCS+= unsupported.c 1201.10Smrg 1211.10Smrg.endif # } 1221.1Sad 1231.36Schristos.if ${MACHINE} == "sparc" \ 1241.36Schristos || ${MACHINE} == "sparc64" 1251.34SchristosCOPTS.kern_timeout.c += -Wno-stack-protector 1261.36Schristos.endif 1271.34Schristos 1281.33Smrg.include "../../compat/exec.mk" 1291.33Smrg 1301.42SmrgCOPTS.db_command.c+= ${GCC_NO_CAST_FUNCTION_TYPE} 1311.42Smrg 1321.46SmrgCOPTS+= -fcommon 1331.46Smrg 1341.1Sad.include <bsd.prog.mk> 1351.1Sad.include <bsd.klinks.mk> 136