phunix/lib/libkvm/Makefile
David van Moolenbroek 9da227510d Import NetBSD libkvm
Imported with no changes, but not all parts are expected to be
functional.  The libc nlist functionality is enabled for the
purpose of successful linking, although the nlist functionaly has
not been tested on MINIX3 nor is it needed for how we use libkvm.

In terms of function calls: kvm_getproc2, kvm_getargv2,
kvm_getenvv2, and kvm_getlwps are expected to work, whereas
kvm_getproc, kvm_getargv, kvm_getenvv, and kvm_getfiles are not.

Change-Id: I7539209736f1771fc0b7db5e839d2df72f5ac615
2016-01-13 20:32:49 +01:00

75 lines
2.3 KiB
Makefile

# $NetBSD: Makefile,v 1.50 2014/08/10 23:39:08 matt Exp $
# from: @(#)Makefile 8.1 (Berkeley) 6/4/93
WARNS= 3
USE_FORT?= yes # used primarily by setgid programs
USE_SHLIBDIR= yes
LIB= kvm
CPPFLAGS+=-DLIBC_SCCS -I${NETBSDSRCDIR}/sys -D_KMEMUSER
SRCS= kvm.c kvm_file.c kvm_getloadavg.c kvm_proc.c
# This library should compile to the same thing on all variants of
# ${MACHINE} with the same ${MACHINE_ARCH} so shared /usr works.
# If it is necessary to run different code based on ${MACHINE} then
# the dispatch on ${MACHINE} should be done at run time (see m68k).
.include <bsd.own.mk>
.if exists(kvm_${KVM_MACHINE_ARCH}.c)
SRCS+= kvm_${KVM_MACHINE_ARCH}.c
.elif exists(kvm_${KVM_MACHINE_CPU}.c)
SRCS+= kvm_${KVM_MACHINE_CPU}.c
.elif exists(kvm_${MACHINE_ARCH}.c)
SRCS+= kvm_${MACHINE_ARCH}.c
.elif exists(kvm_${MACHINE_CPU}.c)
SRCS+= kvm_${MACHINE_CPU}.c
.else
.BEGIN:
@echo no kvm_xx.c for ${MACHINE_ARCH} nor ${MACHINE_CPU}
@false
.endif
.if ${MACHINE_ARCH} == "i386"
LINTFLAGS+=-w
SRCS+= kvm_i386pae.c # Hook PAE support in the i386 build
.endif
# Additional modules needed for m68k
.if (${MACHINE_ARCH} == "m68k" || ${MACHINE_CPU} == "m68k")
SRCS+= kvm_m68k_cmn.c kvm_sun2.c kvm_sun3.c kvm_sun3x.c
.endif
MAN= kvm.3 kvm_dump.3 kvm_geterr.3 kvm_getfiles.3 kvm_getloadavg.3 \
kvm_getkernelname.3 \
kvm_getprocs.3 kvm_nlist.3 kvm_open.3 kvm_read.3 kvm_getlwps.3
MLINKS+=kvm_getprocs.3 kvm_getargv.3 kvm_getprocs.3 kvm_getenvv.3
MLINKS+=kvm_getprocs.3 kvm_getproc2.3
MLINKS+=kvm_getprocs.3 kvm_getargv2.3 kvm_getprocs.3 kvm_getenvv2.3
MLINKS+=kvm_open.3 kvm_openfiles.3 kvm_open.3 kvm_close.3
MLINKS+=kvm_read.3 kvm_write.3
MLINKS+=kvm_dump.3 kvm_dump_mkheader.3 kvm_dump.3 kvm_dump_wrtheader.3
MLINKS+=kvm_dump.3 kvm_dump_inval.3
# This fixes building with MACHINE==sparc64, MACHINE_ARCH==sparc
# XXX: this is a hack, but until the sparc MD headers are separated
# out from the sparc AD headers, it's the easiest solution.
#
.if (${MACHINE_ARCH} == "sparc") # {
.if !make(obj) && !make(clean) && !make(cleandir)
.BEGIN:
@([ -h machine ] || \
ln -fs ${NETBSDSRCDIR}/sys/arch/sparc/include machine)
@([ -h sparc ] || ln -fs ${NETBSDSRCDIR}/sys/arch/sparc/include sparc)
.NOPATH: machine sparc
.endif
CLEANFILES+= machine sparc
CPPFLAGS+= -I.
.endif # }
.include <bsd.lib.mk>