]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - sys/modules/vmm/Makefile
MFC r273375
[FreeBSD/stable/10.git] / sys / modules / vmm / Makefile
1 # $FreeBSD$
2
3 KMOD=   vmm
4
5 SRCS=   opt_acpi.h opt_ddb.h device_if.h bus_if.h pci_if.h
6 SRCS+=  vmx_assym.h svm_assym.h
7
8 CFLAGS+= -DVMM_KEEP_STATS -DSMP
9 CFLAGS+= -I${.CURDIR}/../../amd64/vmm
10 CFLAGS+= -I${.CURDIR}/../../amd64/vmm/io
11 CFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
12 CFLAGS+= -I${.CURDIR}/../../amd64/vmm/amd
13
14 # generic vmm support
15 .PATH: ${.CURDIR}/../../amd64/vmm
16 SRCS+=  vmm.c           \
17         vmm_dev.c       \
18         vmm_host.c      \
19         vmm_instruction_emul.c  \
20         vmm_ioport.c    \
21         vmm_ipi.c       \
22         vmm_lapic.c     \
23         vmm_mem.c       \
24         vmm_stat.c      \
25         vmm_util.c      \
26         x86.c           \
27         vmm_support.S
28
29 .PATH: ${.CURDIR}/../../amd64/vmm/io
30 SRCS+=  iommu.c         \
31         ppt.c           \
32         vatpic.c        \
33         vatpit.c        \
34         vhpet.c         \
35         vioapic.c       \
36         vlapic.c
37
38 # intel-specific files
39 .PATH: ${.CURDIR}/../../amd64/vmm/intel
40 SRCS+=  ept.c           \
41         vmcs.c          \
42         vmx_msr.c       \
43         vmx_support.S   \
44         vmx.c           \
45         vtd.c
46
47 # amd-specific files
48 .PATH: ${.CURDIR}/../../amd64/vmm/amd
49 SRCS+=  vmcb.c          \
50         svm.c           \
51         svm_support.S   \
52         npt.c           \
53         amdv.c          \
54         svm_msr.c
55         
56 CLEANFILES=     vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o
57
58 vmx_assym.h:    vmx_genassym.o
59 .if exists(@)
60 vmx_assym.h:    @/kern/genassym.sh
61 .endif
62         sh @/kern/genassym.sh vmx_genassym.o > ${.TARGET}
63
64 svm_assym.h:    svm_genassym.o
65 .if exists(@)
66 svm_assym.h:    @/kern/genassym.sh
67 .endif
68         sh @/kern/genassym.sh svm_genassym.o > ${.TARGET}
69
70 vmx_support.o:
71         ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
72             ${.IMPSRC} -o ${.TARGET}
73
74 svm_support.o:
75         ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
76             ${.IMPSRC} -o ${.TARGET}
77
78 vmx_genassym.o:
79         ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
80
81 svm_genassym.o:
82         ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
83
84 .include <bsd.kmod.mk>