1 1.55 mrg # $NetBSD: Makefile,v 1.55 2025/09/18 03:36:00 mrg Exp $ 2 1.5 cgd # from: @(#)Makefile 8.1 (Berkeley) 6/4/93 3 1.1 cgd 4 1.49 matt WARNS= 3 5 1.49 matt 6 1.44 tls USE_FORT?= yes # used primarily by setgid programs 7 1.44 tls 8 1.38 lukem USE_SHLIBDIR= yes 9 1.38 lukem 10 1.1 cgd LIB= kvm 11 1.47 matt CPPFLAGS+=-DLIBC_SCCS -I${NETBSDSRCDIR}/sys -D_KMEMUSER 12 1.6 chopps 13 1.12 gwr SRCS= kvm.c kvm_file.c kvm_getloadavg.c kvm_proc.c 14 1.12 gwr 15 1.12 gwr # This library should compile to the same thing on all variants of 16 1.12 gwr # ${MACHINE} with the same ${MACHINE_ARCH} so shared /usr works. 17 1.13 gwr # If it is necessary to run different code based on ${MACHINE} then 18 1.12 gwr # the dispatch on ${MACHINE} should be done at run time (see m68k). 19 1.12 gwr 20 1.34 itojun .include <bsd.own.mk> 21 1.45 mrg .if exists(kvm_${KVM_MACHINE_ARCH}.c) 22 1.45 mrg SRCS+= kvm_${KVM_MACHINE_ARCH}.c 23 1.50 matt .elif exists(kvm_${KVM_MACHINE_CPU}.c) 24 1.50 matt SRCS+= kvm_${KVM_MACHINE_CPU}.c 25 1.45 mrg .elif exists(kvm_${MACHINE_ARCH}.c) 26 1.34 itojun SRCS+= kvm_${MACHINE_ARCH}.c 27 1.34 itojun .elif exists(kvm_${MACHINE_CPU}.c) 28 1.34 itojun SRCS+= kvm_${MACHINE_CPU}.c 29 1.28 drochner .else 30 1.34 itojun .BEGIN: 31 1.34 itojun @echo no kvm_xx.c for ${MACHINE_ARCH} nor ${MACHINE_CPU} 32 1.34 itojun @false 33 1.28 drochner .endif 34 1.12 gwr 35 1.46 jym .if ${MACHINE_ARCH} == "i386" 36 1.46 jym LINTFLAGS+=-w 37 1.52 rillig LINTFLAGS+= -X 351 # 'extern' declaration outside header 38 1.52 rillig LINTFLAGS+= -X 352 # 'extern' declaration in function body 39 1.46 jym SRCS+= kvm_i386pae.c # Hook PAE support in the i386 build 40 1.46 jym .endif 41 1.46 jym 42 1.12 gwr # Additional modules needed for m68k 43 1.36 fredette .if (${MACHINE_ARCH} == "m68k" || ${MACHINE_CPU} == "m68k") 44 1.36 fredette SRCS+= kvm_m68k_cmn.c kvm_sun2.c kvm_sun3.c kvm_sun3x.c 45 1.14 mrg .endif 46 1.4 cgd 47 1.10 leo MAN= kvm.3 kvm_dump.3 kvm_geterr.3 kvm_getfiles.3 kvm_getloadavg.3 \ 48 1.48 christos kvm_getkernelname.3 \ 49 1.39 thorpej kvm_getprocs.3 kvm_nlist.3 kvm_open.3 kvm_read.3 kvm_getlwps.3 50 1.4 cgd 51 1.4 cgd MLINKS+=kvm_getprocs.3 kvm_getargv.3 kvm_getprocs.3 kvm_getenvv.3 52 1.32 simonb MLINKS+=kvm_getprocs.3 kvm_getproc2.3 53 1.32 simonb MLINKS+=kvm_getprocs.3 kvm_getargv2.3 kvm_getprocs.3 kvm_getenvv2.3 54 1.4 cgd MLINKS+=kvm_open.3 kvm_openfiles.3 kvm_open.3 kvm_close.3 55 1.4 cgd MLINKS+=kvm_read.3 kvm_write.3 56 1.10 leo MLINKS+=kvm_dump.3 kvm_dump_mkheader.3 kvm_dump.3 kvm_dump_wrtheader.3 57 1.10 leo MLINKS+=kvm_dump.3 kvm_dump_inval.3 58 1.40 lukem 59 1.40 lukem # This fixes building with MACHINE==sparc64, MACHINE_ARCH==sparc 60 1.40 lukem # XXX: this is a hack, but until the sparc MD headers are separated 61 1.40 lukem # out from the sparc AD headers, it's the easiest solution. 62 1.40 lukem # 63 1.40 lukem .if (${MACHINE_ARCH} == "sparc") # { 64 1.40 lukem .if !make(obj) && !make(clean) && !make(cleandir) 65 1.40 lukem .BEGIN: 66 1.40 lukem @([ -h machine ] || \ 67 1.40 lukem ln -fs ${NETBSDSRCDIR}/sys/arch/sparc/include machine) 68 1.40 lukem @([ -h sparc ] || ln -fs ${NETBSDSRCDIR}/sys/arch/sparc/include sparc) 69 1.40 lukem .NOPATH: machine sparc 70 1.40 lukem .endif 71 1.40 lukem CLEANFILES+= machine sparc 72 1.40 lukem CPPFLAGS+= -I. 73 1.40 lukem .endif # } 74 1.40 lukem 75 1.51 christos .if (${MACHINE_ARCH} == "mips") 76 1.51 christos CPPFLAGS+= -D_KMEMUSER 77 1.51 christos .endif 78 1.51 christos 79 1.55 mrg COPTS.kvm_x86_64.c+= ${CC_WNO_CALLOC_TRANSPOSED_ARGS} 80 1.1 cgd 81 1.1 cgd .include <bsd.lib.mk> 82