Commit | Line | Data |
---|---|---|
b693919c XZ |
1 | #This Make file is to generate asm-offsets.h and build source. |
2 | # | |
3 | ||
4 | #Generate asm-offsets.h for vmm module build | |
5 | offsets-file := asm-offsets.h | |
6 | ||
7 | always := $(offsets-file) | |
8 | targets := $(offsets-file) | |
9 | targets += arch/ia64/kvm/asm-offsets.s | |
10 | clean-files := $(addprefix $(objtree)/,$(targets) $(obj)/memcpy.S $(obj)/memset.S) | |
11 | ||
12 | # Default sed regexp - multiline due to syntax constraints | |
13 | define sed-y | |
14 | "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" | |
15 | endef | |
16 | ||
17 | quiet_cmd_offsets = GEN $@ | |
18 | define cmd_offsets | |
19 | (set -e; \ | |
20 | echo "#ifndef __ASM_KVM_OFFSETS_H__"; \ | |
21 | echo "#define __ASM_KVM_OFFSETS_H__"; \ | |
22 | echo "/*"; \ | |
23 | echo " * DO NOT MODIFY."; \ | |
24 | echo " *"; \ | |
25 | echo " * This file was generated by Makefile"; \ | |
26 | echo " *"; \ | |
27 | echo " */"; \ | |
28 | echo ""; \ | |
29 | sed -ne $(sed-y) $<; \ | |
30 | echo ""; \ | |
31 | echo "#endif" ) > $@ | |
32 | endef | |
33 | # We use internal rules to avoid the "is up to date" message from make | |
34 | arch/ia64/kvm/asm-offsets.s: arch/ia64/kvm/asm-offsets.c | |
35 | $(call if_changed_dep,cc_s_c) | |
36 | ||
37 | $(obj)/$(offsets-file): arch/ia64/kvm/asm-offsets.s | |
38 | $(call cmd,offsets) | |
39 | ||
40 | # | |
41 | # Makefile for Kernel-based Virtual Machine module | |
42 | # | |
43 | ||
44 | EXTRA_CFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/ | |
45 | ||
46 | $(addprefix $(objtree)/,$(obj)/memcpy.S $(obj)/memset.S): | |
47 | $(shell ln -snf ../lib/memcpy.S $(src)/memcpy.S) | |
48 | $(shell ln -snf ../lib/memset.S $(src)/memset.S) | |
49 | ||
50 | common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o) | |
51 | ||
52 | kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o | |
53 | obj-$(CONFIG_KVM) += kvm.o | |
54 | ||
55 | FORCE : $(obj)/$(offsets-file) | |
56 | EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127 | |
57 | kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \ | |
58 | vtlb.o process.o | |
59 | #Add link memcpy and memset to avoid possible structure assignment error | |
60 | kvm-intel-objs += memset.o memcpy.o | |
61 | obj-$(CONFIG_KVM_INTEL) += kvm-intel.o |