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
/qemu-system-x86_64
58 @
$(MAKE
) DESTDIR
=$(INITRD_DIR
) kcmd
='#' prefix='/usr' \
59 -C
$(KVM_SRC_DIR
) install
60 @
rm -f
$(INITRD_DIR
)/usr
/bin
/qemu-nbd
61 @ mv
$(INITRD_DIR
)/usr
/bin
/qemu-system-x86_64
$(INITRD_DIR
)/usr
/bin
/kvm
62 @
rm -rf
$(INITRD_DIR
)/usr
/include
63 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/openbios-sparc
*
64 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/ppc_rom.bin
65 @
rm -f
$(INITRD_DIR
)/usr
/share
/qemu
/pxe-
*.bin
69 # @ install -T $(KVM_SRC_DIR)/qemu/qemu-img $(INITRD_DIR)/usr/bin/kvm-img
70 # @ install $(KVM_SRC_DIR)/qemu/qemu-nbd $(INITRD_DIR)/usr/bin
71 # @ install -m 0644 -T -D $(KVM_SRC_DIR)/scripts/qemu-ifup $(INITRD_DIR)/etc/kvm/kvm-ifup
72 # @ install -m 0644 -T $(KVM_SRC_DIR)/scripts/qemu-ifdown $(INITRD_DIR)/etc/kvm/kvm-ifdown
73 # @ install -m 0644 -d $(KVM_SRC_DIR)/scripts/65-kvm.rules $(INITRD_DIR)/etc/udev/rules.d
74 # @ install $(KVM_SRC_DIR)/qemu/x86_64-softmmu/kvm $(INITRD_DIR)/usr/bin
75 # @ install -m 0644 $(KVM_SRC_DIR)/libkvm/libkvm.a $(INITRD_DIR)/usr/lib64
83 kvm
: $(KVM_STAMP_DIR
) $(INITRD_DIR
)/bin
/kvm
86 @
rm -f
$(KVM_STAMP_DIR
)/.configured
87 ifneq ($(wildcard $(KVM_SRC_DIR
)/Makefile
),)
88 $(MAKE
) -C
$(KVM_SRC_DIR
) clean