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
/sparsebit.c
8 LIBKVM_x86_64
= lib
/x86.c lib
/vmx.c
10 TEST_GEN_PROGS_x86_64
= platform_info_test
11 TEST_GEN_PROGS_x86_64
+= set_sregs_test
12 TEST_GEN_PROGS_x86_64
+= sync_regs_test
13 TEST_GEN_PROGS_x86_64
+= vmx_tsc_adjust_test
14 TEST_GEN_PROGS_x86_64
+= cr4_cpuid_sync_test
15 TEST_GEN_PROGS_x86_64
+= state_test
16 TEST_GEN_PROGS_x86_64
+= dirty_log_test
18 TEST_GEN_PROGS
+= $(TEST_GEN_PROGS_
$(UNAME_M
))
19 LIBKVM
+= $(LIBKVM_
$(UNAME_M
))
21 INSTALL_HDR_PATH
= $(top_srcdir
)/usr
22 LINUX_HDR_PATH
= $(INSTALL_HDR_PATH
)/include/
23 LINUX_TOOL_INCLUDE
= $(top_srcdir
)tools
/include
24 CFLAGS
+= -O2
-g
-std
=gnu99
-I
$(LINUX_TOOL_INCLUDE
) -I
$(LINUX_HDR_PATH
) -Iinclude
-I
$(<D
) -I..
27 # After inclusion, $(OUTPUT) is defined and
28 # $(TEST_GEN_PROGS) starts with $(OUTPUT)/
31 STATIC_LIBS
:= $(OUTPUT
)/libkvm.a
32 LIBKVM_OBJ
:= $(patsubst %.c
, $(OUTPUT
)/%.o
, $(LIBKVM
))
33 EXTRA_CLEAN
+= $(LIBKVM_OBJ
) $(STATIC_LIBS
)
35 x
:= $(shell mkdir
-p
$(sort $(dir $(LIBKVM_OBJ
))))
36 $(LIBKVM_OBJ
): $(OUTPUT
)/%.o
: %.c
37 $(CC
) $(CFLAGS
) $(CPPFLAGS
) $(TARGET_ARCH
) -c
$< -o
$@
39 $(OUTPUT
)/libkvm.a
: $(LIBKVM_OBJ
)
43 $(TEST_GEN_PROGS
): $(STATIC_LIBS
)