3 top_srcdir
= ..
/..
/..
/..
5 UNAME_M
:= $(shell uname
-m
)
7 LIBKVM
= lib
/assert.c lib
/elf.c lib
/io.c lib
/kvm_util.c lib
/ucall.c lib
/sparsebit.c
8 LIBKVM_x86_64
= lib
/x86_64
/processor.c lib
/x86_64
/vmx.c
9 LIBKVM_aarch64
= lib
/aarch64
/processor.c
11 TEST_GEN_PROGS_x86_64
= x86_64
/platform_info_test
12 TEST_GEN_PROGS_x86_64
+= x86_64
/set_sregs_test
13 TEST_GEN_PROGS_x86_64
+= x86_64
/sync_regs_test
14 TEST_GEN_PROGS_x86_64
+= x86_64
/vmx_tsc_adjust_test
15 TEST_GEN_PROGS_x86_64
+= x86_64
/cr4_cpuid_sync_test
16 TEST_GEN_PROGS_x86_64
+= x86_64
/state_test
17 TEST_GEN_PROGS_x86_64
+= x86_64
/evmcs_test
18 TEST_GEN_PROGS_x86_64
+= x86_64
/hyperv_cpuid
19 TEST_GEN_PROGS_x86_64
+= x86_64
/vmx_close_while_nested_test
20 TEST_GEN_PROGS_x86_64
+= dirty_log_test
21 TEST_GEN_PROGS_x86_64
+= clear_dirty_log_test
23 TEST_GEN_PROGS_aarch64
+= dirty_log_test
24 TEST_GEN_PROGS_aarch64
+= clear_dirty_log_test
26 TEST_GEN_PROGS
+= $(TEST_GEN_PROGS_
$(UNAME_M
))
27 LIBKVM
+= $(LIBKVM_
$(UNAME_M
))
29 INSTALL_HDR_PATH
= $(top_srcdir
)/usr
30 LINUX_HDR_PATH
= $(INSTALL_HDR_PATH
)/include/
31 LINUX_TOOL_INCLUDE
= $(top_srcdir
)/tools
/include
32 CFLAGS
+= -O2
-g
-std
=gnu99
-I
$(LINUX_TOOL_INCLUDE
) -I
$(LINUX_HDR_PATH
) -Iinclude
-I
$(<D
) -Iinclude
/$(UNAME_M
) -I..
35 # After inclusion, $(OUTPUT) is defined and
36 # $(TEST_GEN_PROGS) starts with $(OUTPUT)/
39 STATIC_LIBS
:= $(OUTPUT
)/libkvm.a
40 LIBKVM_OBJ
:= $(patsubst %.c
, $(OUTPUT
)/%.o
, $(LIBKVM
))
41 EXTRA_CLEAN
+= $(LIBKVM_OBJ
) $(STATIC_LIBS
) cscope.
*
43 x
:= $(shell mkdir
-p
$(sort $(dir $(LIBKVM_OBJ
))))
44 $(LIBKVM_OBJ
): $(OUTPUT
)/%.o
: %.c
45 $(CC
) $(CFLAGS
) $(CPPFLAGS
) $(TARGET_ARCH
) -c
$< -o
$@
47 $(OUTPUT
)/libkvm.a
: $(LIBKVM_OBJ
)
51 $(TEST_GEN_PROGS
): $(STATIC_LIBS
)
53 cscope
: include_paths
= $(LINUX_TOOL_INCLUDE
) $(LINUX_HDR_PATH
) include lib ..
56 (find
$(include_paths
) -name
'*.h' \
57 -exec realpath
--relative-base
=$(PWD
) {} \
;; \
59 -exec realpath
--relative-base
=$(PWD
) {} \
;) |
sort -u
> cscope.files