1 # $NetBSD: Makefile,v 1.48 2011/09/12 21:11:31 christos Exp $ 2 # from: @(#)Makefile 8.1 (Berkeley) 6/4/93 3 4 USE_FORT?= yes # used primarily by setgid programs 5 6 USE_SHLIBDIR= yes 7 8 LIB= kvm 9 CPPFLAGS+=-DLIBC_SCCS -I${NETBSDSRCDIR}/sys -D_KMEMUSER 10 11 SRCS= kvm.c kvm_file.c kvm_getloadavg.c kvm_proc.c 12 13 # This library should compile to the same thing on all variants of 14 # ${MACHINE} with the same ${MACHINE_ARCH} so shared /usr works. 15 # If it is necessary to run different code based on ${MACHINE} then 16 # the dispatch on ${MACHINE} should be done at run time (see m68k). 17 18 .include <bsd.own.mk> 19 .if exists(kvm_${KVM_MACHINE_ARCH}.c) 20 SRCS+= kvm_${KVM_MACHINE_ARCH}.c 21 .elif exists(kvm_${MACHINE_ARCH}.c) 22 SRCS+= kvm_${MACHINE_ARCH}.c 23 .elif exists(kvm_${MACHINE_CPU}.c) 24 SRCS+= kvm_${MACHINE_CPU}.c 25 .else 26 .BEGIN: 27 @echo no kvm_xx.c for ${MACHINE_ARCH} nor ${MACHINE_CPU} 28 @false 29 .endif 30 31 .if ${MACHINE_ARCH} == "i386" 32 LINTFLAGS+=-w 33 SRCS+= kvm_i386pae.c # Hook PAE support in the i386 build 34 .endif 35 36 # Additional modules needed for m68k 37 .if (${MACHINE_ARCH} == "m68k" || ${MACHINE_CPU} == "m68k") 38 SRCS+= kvm_m68k_cmn.c kvm_sun2.c kvm_sun3.c kvm_sun3x.c 39 .endif 40 41 MAN= kvm.3 kvm_dump.3 kvm_geterr.3 kvm_getfiles.3 kvm_getloadavg.3 \ 42 kvm_getkernelname.3 \ 43 kvm_getprocs.3 kvm_nlist.3 kvm_open.3 kvm_read.3 kvm_getlwps.3 44 45 MLINKS+=kvm_getprocs.3 kvm_getargv.3 kvm_getprocs.3 kvm_getenvv.3 46 MLINKS+=kvm_getprocs.3 kvm_getproc2.3 47 MLINKS+=kvm_getprocs.3 kvm_getargv2.3 kvm_getprocs.3 kvm_getenvv2.3 48 MLINKS+=kvm_open.3 kvm_openfiles.3 kvm_open.3 kvm_close.3 49 MLINKS+=kvm_read.3 kvm_write.3 50 MLINKS+=kvm_dump.3 kvm_dump_mkheader.3 kvm_dump.3 kvm_dump_wrtheader.3 51 MLINKS+=kvm_dump.3 kvm_dump_inval.3 52 53 # This fixes building with MACHINE==sparc64, MACHINE_ARCH==sparc 54 # XXX: this is a hack, but until the sparc MD headers are separated 55 # out from the sparc AD headers, it's the easiest solution. 56 # 57 .if (${MACHINE_ARCH} == "sparc") # { 58 .if !make(obj) && !make(clean) && !make(cleandir) 59 .BEGIN: 60 @([ -h machine ] || \ 61 ln -fs ${NETBSDSRCDIR}/sys/arch/sparc/include machine) 62 @([ -h sparc ] || ln -fs ${NETBSDSRCDIR}/sys/arch/sparc/include sparc) 63 .NOPATH: machine sparc 64 .endif 65 CLEANFILES+= machine sparc 66 CPPFLAGS+= -I. 67 .endif # } 68 69 70 .include <bsd.lib.mk> 71