Makefile revision 221914
168651Skris# $FreeBSD$
268651Skris
368651Skris# *REQUIRES* binutils 2.20.1 for VT-x instructions
468651SkrisAS=	/usr/local/bin/as
568651SkrisLD=	/usr/local/bin/ld
668651SkrisCFLAGS+=	-B /usr/local/bin
768651Skris
868651SkrisKMOD=	vmm
968651Skris
10SRCS=	device_if.h bus_if.h pci_if.h
11
12CFLAGS+= -DVMM_KEEP_STATS -DSMP
13CFLAGS+= -DOLD_BINUTILS
14CFLAGS+= -I${.CURDIR}/../../amd64/vmm	
15CFLAGS+= -I${.CURDIR}/../../amd64/vmm/io	
16CFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
17
18# generic vmm support
19.PATH: ${.CURDIR}/../../amd64/vmm
20SRCS+=	vmm.c		\
21	vmm_dev.c	\
22	vmm_ipi.c	\
23	vmm_lapic.c	\
24	vmm_mem.c	\
25	vmm_msr.c	\
26	vmm_stat.c	\
27	vmm_util.c	\
28	x86.c		\
29	vmm_support.S
30
31.PATH: ${.CURDIR}/../../amd64/vmm/io
32SRCS+=	iommu.c		\
33	ppt.c           \
34	vdev.c		\
35	vlapic.c
36
37# intel-specific files
38.PATH: ${.CURDIR}/../../amd64/vmm/intel
39SRCS+=	ept.c		\
40	vmcs.c		\
41	vmx_msr.c	\
42	vmx.c		\
43	vtd.c
44
45# amd-specific files
46.PATH: ${.CURDIR}/../../amd64/vmm/amd
47SRCS+=	amdv.c
48
49OBJS=	vmx_support.o
50
51CLEANFILES=	vmx_assym.s vmx_genassym.o
52
53vmx_assym.s:    vmx_genassym.o
54.if exists(@)
55vmx_assym.s:    @/kern/genassym.sh
56.endif
57	sh @/kern/genassym.sh vmx_genassym.o > ${.TARGET}
58
59vmx_support.o:	vmx_support.S vmx_assym.s
60	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
61	    ${.IMPSRC} -o ${.TARGET}
62
63vmx_genassym.o: vmx_genassym.c @ machine x86
64	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
65
66.include <bsd.kmod.mk>
67