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