]>
Commit | Line | Data |
---|---|---|
783e9e51 PB |
1 | all: |
2 | ||
cc68765d | 3 | top_srcdir = ../../../.. |
211929fd | 4 | KSFT_KHDR_INSTALL := 1 |
783e9e51 PB |
5 | UNAME_M := $(shell uname -m) |
6 | ||
14c47b75 | 7 | LIBKVM = lib/assert.c lib/elf.c lib/io.c lib/kvm_util.c lib/ucall.c lib/sparsebit.c |
cc68765d | 8 | LIBKVM_x86_64 = lib/x86_64/processor.c lib/x86_64/vmx.c |
fff8dcd7 | 9 | LIBKVM_aarch64 = lib/aarch64/processor.c |
783e9e51 | 10 | |
cc68765d AJ |
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 | |
18178ff8 | 17 | TEST_GEN_PROGS_x86_64 += x86_64/evmcs_test |
7edcb734 | 18 | TEST_GEN_PROGS_x86_64 += x86_64/hyperv_cpuid |
65ab26e3 | 19 | TEST_GEN_PROGS_x86_64 += x86_64/vmx_close_while_nested_test |
fff8dcd7 | 20 | TEST_GEN_PROGS_x86_64 += dirty_log_test |
2a31b9db | 21 | TEST_GEN_PROGS_x86_64 += clear_dirty_log_test |
fff8dcd7 AJ |
22 | |
23 | TEST_GEN_PROGS_aarch64 += dirty_log_test | |
2a31b9db | 24 | TEST_GEN_PROGS_aarch64 += clear_dirty_log_test |
783e9e51 PB |
25 | |
26 | TEST_GEN_PROGS += $(TEST_GEN_PROGS_$(UNAME_M)) | |
27 | LIBKVM += $(LIBKVM_$(UNAME_M)) | |
28 | ||
29 | INSTALL_HDR_PATH = $(top_srcdir)/usr | |
30 | LINUX_HDR_PATH = $(INSTALL_HDR_PATH)/include/ | |
cc68765d | 31 | LINUX_TOOL_INCLUDE = $(top_srcdir)/tools/include |
ffac839d SC |
32 | CFLAGS += -O2 -g -std=gnu99 -fno-stack-protector -fno-PIE -I$(LINUX_TOOL_INCLUDE) -I$(LINUX_HDR_PATH) -Iinclude -I$(<D) -Iinclude/$(UNAME_M) -I.. |
33 | LDFLAGS += -pthread -no-pie | |
783e9e51 PB |
34 | |
35 | # After inclusion, $(OUTPUT) is defined and | |
36 | # $(TEST_GEN_PROGS) starts with $(OUTPUT)/ | |
37 | include ../lib.mk | |
38 | ||
39 | STATIC_LIBS := $(OUTPUT)/libkvm.a | |
40 | LIBKVM_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(LIBKVM)) | |
eea192bf | 41 | EXTRA_CLEAN += $(LIBKVM_OBJ) $(STATIC_LIBS) cscope.* |
783e9e51 PB |
42 | |
43 | x := $(shell mkdir -p $(sort $(dir $(LIBKVM_OBJ)))) | |
44 | $(LIBKVM_OBJ): $(OUTPUT)/%.o: %.c | |
45 | $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ | |
46 | ||
47 | $(OUTPUT)/libkvm.a: $(LIBKVM_OBJ) | |
48 | $(AR) crs $@ $^ | |
49 | ||
b2d35fa5 | 50 | all: $(STATIC_LIBS) |
783e9e51 | 51 | $(TEST_GEN_PROGS): $(STATIC_LIBS) |
eea192bf AJ |
52 | |
53 | cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib .. | |
54 | cscope: | |
55 | $(RM) cscope.* | |
56 | (find $(include_paths) -name '*.h' \ | |
57 | -exec realpath --relative-base=$(PWD) {} \;; \ | |
58 | find . -name '*.c' \ | |
59 | -exec realpath --relative-base=$(PWD) {} \;) | sort -u > cscope.files | |
60 | cscope -b |