unstripping kvm
[kvm-coreboot.git] / packages / kvm / kvm.mk
blob9e169bdf6a69a2f9fcf949397665e119a0ab677a
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 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 -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
52 @ touch $@
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
80 $(KVM_STAMP_DIR):
81 mkdir -p $@
83 kvm: $(KVM_STAMP_DIR) $(INITRD_DIR)/bin/kvm
85 kvm-clean:
86 @ rm -f $(KVM_STAMP_DIR)/.configured
87 ifneq ($(wildcard $(KVM_SRC_DIR)/Makefile),)
88 $(MAKE) -C $(KVM_SRC_DIR) clean
89 endif
90 kvm-distclean:
91 rm -rf $(KVM_DIR)/*