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