added an ugly hack to ignore some make targets, fixed build failure due to include...
[kvm-coreboot.git] / packages / kvm / kvm.mk
blobe3045f6e67564e2e8208c61a56e2abd5cc02145c
1 KVM_URL=http://heanet.dl.sourceforge.net/sourceforge/kvm
2 KVM_VERSION=72
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 $(SOURCE_DIR)/$(KVM_SOURCE):
11 mkdir -p $(SOURCE_DIR)
12 @ wget $(WGET_Q) -P $(SOURCE_DIR) $(KVM_URL)/$(KVM_SOURCE)
14 $(KVM_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(KVM_SOURCE)
15 tar -C $(KVM_DIR) -zxf $(SOURCE_DIR)/$(KVM_SOURCE)
16 touch $@
18 $(KVM_STAMP_DIR)/.patched: $(KVM_STAMP_DIR)/.unpacked
19 @ echo "Patching kvm..."
20 @ $(BIN_DIR)/doquilt.sh $(KVM_SRC_DIR) $(KVM_PATCHES)
21 @ echo "all:" > $(KVM_SRC_DIR)/user/Makefile #an ugly hack to disable these make targets
22 @ echo "all:" > $(KVM_SRC_DIR)/kernel/Makefile
23 @ echo "all:" > $(KVM_SRC_DIR)/bios/Makefile
24 @ touch $@
27 $(KVM_STAMP_DIR)/.configured: $(KVM_STAMP_DIR)/.patched
28 @ echo "Configuring kvm..."
29 @ ( cd $(KVM_SRC_DIR); ./configure \
30 --arch=i686 \
31 --prefix=$(STAGING_DIR) \
32 --disable-sdl \
33 --disable-gfx-check \
34 --disable-curses )
35 @ touch $@
37 $(KVM_SRC_DIR)/.built: $(KVM_STAMP_DIR)/.configured
38 @ echo "Building kvm..."
39 @ $(MAKE) \
40 CFLAGS="$(CFLAGS) -nostdinc -fno-builtin \
41 -I../../libkvm -I../libkvm \
42 -isystem $(STAGING_DIR)/include " \
43 LDFLAGS="$(LDFLAGS) -nostdlib -L $(STAGING_DIR)/lib \
44 -Wl,-rpath-link, $(STAGING_DIR)/lib \
45 -Wl,--dynamic-linker,/lib/ld-uClibc.so.0 \
46 -Wl,--warn-common -Wl,--sort-common \
47 -lm -Wall -print-search-dirs " kcmd='#' \
48 -C $(KVM_SRC_DIR)
49 @ touch $@
51 $(INITRD_DIR)/bin/kvm: $(KVM_SRC_DIR)/.built
52 @ echo "Installing kvm..."
53 @ $(MAKE) DESTDIR=$(INITRD_DIR) kcmd='#' -C $(KVM_SRC_DIR) install
54 # @ strip -s $(KVM_SRC_DIR)/qemu/qemu-nbd
55 # @ strip -s $(KVM_SRC_DIR)/qemu/qemu-img
56 # @ strip -s $(KVM_SRC_DIR)/qemu/x86_64-softmmu/kvm
58 # @ install -T $(KVM_SRC_DIR)/qemu/qemu-img $(INITRD_DIR)/usr/bin/kvm-img
59 # @ install $(KVM_SRC_DIR)/qemu/qemu-nbd $(INITRD_DIR)/usr/bin
60 # @ install -m 0644 -T -D $(KVM_SRC_DIR)/scripts/qemu-ifup $(INITRD_DIR)/etc/kvm/kvm-ifup
61 # @ install -m 0644 -T $(KVM_SRC_DIR)/scripts/qemu-ifdown $(INITRD_DIR)/etc/kvm/kvm-ifdown
62 # @ install -m 0644 -d $(KVM_SRC_DIR)/scripts/65-kvm.rules $(INITRD_DIR)/etc/udev/rules.d
63 # @ install $(KVM_SRC_DIR)/qemu/x86_64-softmmu/kvm $(INITRD_DIR)/usr/bin
64 # @ install -m 0644 $(KVM_SRC_DIR)/libkvm/libkvm.a $(INITRD_DIR)/usr/lib64
69 $(KVM_STAMP_DIR):
70 mkdir -p $@
72 kvm: $(KVM_STAMP_DIR) $(INITRD_DIR)/bin/kvm
74 kvm-clean:
75 @ rm -f $(KVM_STAMP_DIR)/.configured
76 ifneq ($(wildcard $(KVM_SRC_DIR)/Makefile),)
77 $(MAKE) -C $(KVM_SRC_DIR) clean
78 endif
79 kvm-distclean:
80 rm -rf $(KVM_DIR)/*