1 KVM_URL
=http
://heanet.dl.sourceforge.net
/sourceforge
/kvm
3 KVM_SOURCE
=kvm-
$(KVM_VERSION
).
tar.gz
4 KVM_DIR
=$(BUILD_DIR
)/kvm
5 KVM_SRC_DIR
=$(KVM_DIR
)/kvm-
$(KVM_VERSION
)
6 KVM_STAMP_DIR
=$(KVM_DIR
)/stamps
8 KVM_PATCHES
=$(PACKAGE_DIR
)/kvm
/patches
10 CC_IPREFIX
:=$(shell $(CC
) --print-file-name
=include)
11 LIMITS_CFLAGS
= -I
$(dir $(CC_IPREFIX
))/include-fixed
-I
$(CC_IPREFIX
)
13 $(SOURCE_DIR
)/$(KVM_SOURCE
):
14 mkdir
-p
$(SOURCE_DIR
)
15 @ wget
$(WGET_Q
) -P
$(SOURCE_DIR
) $(KVM_URL
)/$(KVM_SOURCE
)
17 $(KVM_STAMP_DIR
)/.unpacked
: $(SOURCE_DIR
)/$(KVM_SOURCE
)
18 tar -C
$(KVM_DIR
) -zxf
$(SOURCE_DIR
)/$(KVM_SOURCE
)
21 $(KVM_STAMP_DIR
)/.patched
: $(KVM_STAMP_DIR
)/.unpacked
22 @ echo
"Patching kvm..."
23 @
$(BIN_DIR
)/doquilt.sh
$(KVM_SRC_DIR
) $(KVM_PATCHES
)
24 @ echo
"all:" > $(KVM_SRC_DIR
)/kernel
/Makefile
25 @ echo
"all:" > $(KVM_SRC_DIR
)/user
/Makefile
29 $(KVM_STAMP_DIR
)/.configured
: $(KVM_STAMP_DIR
)/.patched
30 @ echo
"Configuring kvm..."
31 @
( cd
$(KVM_SRC_DIR
); .
/configure \
41 # we may add --disable-vde
43 $(KVM_SRC_DIR
)/.built
: $(KVM_STAMP_DIR
)/.configured
44 @ echo
"Building kvm..."
45 @ echo
"LDFLAGS: $(LDFLAGS);"
46 @ echo
"LIBS: $(LIBS);"
47 @ echo
"LDFLAGS_orig: $(LDFLAGS_orig);"
48 @ echo
"CFLAGS: $(CFLAGS);"
49 @
$(MAKE
) -C
$(KVM_SRC_DIR
) VERBOSE
=y \
50 kcmd
='#' prefix='/usr' LDFLAGS
="$(LDFLAGS)" \
51 LIBS
="$(LIBS) -L$(KVM_SRC_DIR)/libkvm \
52 -lrt -lz -lm -lutil -lpthread -lkvm -lgcc" \
53 CFLAGS
="-nostdlib $(CFLAGS) $(LIMITS_CFLAGS) -Wall \
54 -I$(KVM_SRC_DIR)/libkvm -I$(KVM_SRC_DIR)/kernel/include \
55 $(call cc-option,-muclibc,) \
56 -D__USE_EXTERN_INLINES -DCONFIG_X86" all
59 $(INITRD_DIR
)/bin
/kvm
: $(KVM_SRC_DIR
)/.built
60 @ echo
"Installing kvm..."
61 @
strip -s
$(KVM_SRC_DIR
)/qemu
/qemu-img
62 @
strip -s
$(KVM_SRC_DIR
)/qemu
/x86_64-softmmu
/kvm
63 @
$(MAKE
) DESTDIR
=$(INITRD_DIR
) kcmd
='#' prefix='/usr' \
64 -C
$(KVM_SRC_DIR
) install
65 @
rm -f
$(INITRD_DIR
)/usr
/bin
/qemu-nbd
66 @
rm -rf
$(INITRD_DIR
)/usr
/include
67 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/openbios-sparc
*
68 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/ppc_rom.bin
69 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/pxe-
*.bin
74 kvm
: $(KVM_STAMP_DIR
) $(INITRD_DIR
)/bin
/kvm
77 @
rm -f
$(KVM_STAMP_DIR
)/.configured
78 ifneq ($(wildcard $(KVM_SRC_DIR
)/Makefile
),)
79 $(MAKE
) -C
$(KVM_SRC_DIR
) clean