b033c6250eb2a4967b5e20c02288b89bf988f15c
[kvm-coreboot.git] / packages / kvm / kvm.mk
blobb033c6250eb2a4967b5e20c02288b89bf988f15c
1 KVM_URL=http://heanet.dl.sourceforge.net/sourceforge/kvm
2 KVM_VERSION=74
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)
19 touch $@
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
26 @ touch $@
29 $(KVM_STAMP_DIR)/.configured: $(KVM_STAMP_DIR)/.patched
30 @ echo "Configuring kvm..."
31 @ ( cd $(KVM_SRC_DIR); ./configure \
32 --arch=i386 \
33 --disable-sdl \
34 --disable-gfx-check \
35 --disable-vnc-tls \
36 --prefix=/usr )
37 @ touch $@
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" \
49 CFLAGS="-nostdlib $(CFLAGS) $(LIMITS_CFLAGS) -Wall \
50 -I$(KVM_SRC_DIR)/libkvm -I$(KVM_SRC_DIR)/kernel/include \
51 $(call cc-option,-muclibc,) \
52 -D__USE_EXTERN_INLINES -DCONFIG_X86" all
53 @ touch $@
55 $(INITRD_DIR)/bin/kvm: $(KVM_SRC_DIR)/.built
56 @ echo "Installing kvm..."
57 @ strip -s $(KVM_SRC_DIR)/qemu/qemu-img
58 @ strip -s $(KVM_SRC_DIR)/qemu/x86_64-softmmu/kvm
59 @ $(MAKE) DESTDIR=$(INITRD_DIR) kcmd='#' prefix='/usr' \
60 -C $(KVM_SRC_DIR) install
61 @ rm -f $(INITRD_DIR)/usr/bin/qemu-nbd
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
67 $(KVM_STAMP_DIR):
68 mkdir -p $@
70 kvm: $(KVM_STAMP_DIR) $(INITRD_DIR)/bin/kvm
72 kvm-clean:
73 @ rm -f $(KVM_STAMP_DIR)/.configured
74 ifneq ($(wildcard $(KVM_SRC_DIR)/Makefile),)
75 $(MAKE) -C $(KVM_SRC_DIR) clean
76 endif
77 kvm-distclean:
78 rm -rf $(KVM_DIR)/*