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