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 \
39 $(KVM_SRC_DIR
)/.built
: $(KVM_STAMP_DIR
)/.configured
40 @ echo
"Building kvm..."
41 @ echo
"LDFLAGS: $(LDFLAGS);"
42 @ echo
"LIBS: $(LIBS);"
43 @ echo
"LDFLAGS_orig: $(LDFLAGS_orig);"
44 @ echo
"CFLAGS: $(CFLAGS);"
45 @
$(MAKE
) -C
$(KVM_SRC_DIR
) VERBOSE
=y \
46 kcmd
='#' prefix='/usr' LDFLAGS
="$(LDFLAGS)" \
47 LIBS
="$(LIBS) -L$(KVM_SRC_DIR)/libkvm \
48 -lrt -lz -lm -lutil -lpthread -lkvm -lgcc -muclibc " \
49 CFLAGS
="-nostdlib $(CFLAGS) $(LIMITS_CFLAGS) \
50 -I$(KVM_SRC_DIR)/libkvm -I$(KVM_SRC_DIR)/kernel/include \
51 -D__USE_EXTERN_INLINES -DCONFIG_X86 -muclibc " all
54 $(INITRD_DIR
)/bin
/kvm
: $(KVM_SRC_DIR
)/.built
55 @ echo
"Installing kvm..."
56 @
strip -s
$(KVM_SRC_DIR
)/qemu
/qemu-img
57 @
strip -s
$(KVM_SRC_DIR
)/qemu
/x86_64-softmmu
/kvm
58 @
$(MAKE
) DESTDIR
=$(INITRD_DIR
) kcmd
='#' prefix='/usr' \
59 -C
$(KVM_SRC_DIR
) install
60 @
rm -f
$(INITRD_DIR
)/usr
/bin
/qemu-nbd
61 @
rm -rf
$(INITRD_DIR
)/usr
/include
62 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/openbios-sparc
*
63 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/ppc_rom.bin
64 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/pxe-
*.bin
69 kvm
: $(KVM_STAMP_DIR
) $(INITRD_DIR
)/bin
/kvm
72 @
rm -f
$(KVM_STAMP_DIR
)/.configured
73 ifneq ($(wildcard $(KVM_SRC_DIR
)/Makefile
),)
74 $(MAKE
) -C
$(KVM_SRC_DIR
) clean