-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
104 lines (82 loc) · 2.13 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
MODE = normal
#MODE = perf
HV_OBJ = obj_1pe
#HV_OBJ = obj_2pe
#HV_OBJ = obj_2pe_mvm
#HV_OBJ = obj_2pe_svm
#HV_OBJ = obj_1pe_com
#HV_OBJ = obj_1pe_atk2
#HV_OBJ = obj_2pe_atk2
all: hv vm
hv:
make all MODE=$(MODE) -C ./hypervisor/obj/$(HV_OBJ);
ifeq ($(HV_OBJ),obj_1pe)
vm:
make all MODE=$(MODE) -C ./vm_prog/vm0_0_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_1_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_idle_prog
endif
ifeq ($(HV_OBJ),obj_1pe_perf)
vm:
make all MODE=$(MODE) -C ./vm_prog/vm0_0_perf_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_1_perf_prog
endif
ifeq ($(HV_OBJ),obj_2pe)
vm:
make all MODE=$(MODE) -C ./vm_prog/vm0_0_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_1_prog
make all MODE=$(MODE) -C ./vm_prog/vm1_0_prog
make all MODE=$(MODE) -C ./vm_prog/vm1_1_prog
endif
ifeq ($(HV_OBJ),obj_2pe_mvm)
vm:
make all MODE=$(MODE) -C ./vm_prog/mvm0_prog
make all MODE=$(MODE) -C ./vm_prog/mvm1_prog
endif
ifeq ($(HV_OBJ),obj_2pe_svm)
vm:
make all MODE=$(MODE) -C ./vm_prog/vm0_0_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_1_prog
make all MODE=$(MODE) -C ./vm_prog/vm1_0_prog
endif
ifeq ($(HV_OBJ),obj_1pe_com)
vm:
make all MODE=$(MODE) -C ./vm_prog/vm0_0_com_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_1_com_prog
endif
ifeq ($(HV_OBJ),obj_1pe_ivc)
vm:
make all MODE=$(MODE) -C ./vm_prog/vm0_0_ivc_prog
make all MODE=$(MODE) -C ./vm_prog/vm0_1_ivc_prog
endif
ifeq ($(HV_OBJ),obj_1pe_atk2)
vm:
make -C ./vm_atk2/vm1_atk2
make -C ./vm_atk2/vm2_atk2
depend:
make depend -C ./vm_atk2/vm1_atk2
make depend -C ./vm_atk2/vm2_atk2
endif
ifeq ($(HV_OBJ),obj_2pe_atk2)
vm:
make -C ./vm_atk2/vm1_atk2
make -C ./vm_atk2/vm2_atk2
make -C ./vm_atk2/vm3_atk2
make -C ./vm_atk2/vm4_atk2
depend:
make depend -C ./vm_atk2/vm1_atk2
make depend -C ./vm_atk2/vm2_atk2
make depend -C ./vm_atk2/vm3_atk2
make depend -C ./vm_atk2/vm4_atk2
endif
clean: vmclean atk2clean
make clean -C hypervisor/obj/$(HV_OBJ);
VMPROGLIST := $(wildcard vm_prog/*_prog)
vmclean: $(VMPROGLIST)
$(VMPROGLIST):
make clean -C $@
ATK2PROGLIST := $(wildcard vm_atk2/*_atk2)
atk2clean: $(ATK2PROGLIST)
$(ATK2PROGLIST):
make clean -C $@
.PHONY: $(VMPROGLIST) $(ATK2PROGLIST)