kvm: external module: adapt to 2.6.16's get_sb() callback
[qemu-kvm/fedora.git] / kvm / kernel / Makefile
blob9d289655a18d3844e2de1342db92c011a2444acc
1 include ../config.mak
3 KVERREL = $(patsubst /lib/modules/%/build,%,$(KERNELDIR))
5 DESTDIR=
7 INSTALLDIR = $(patsubst %/build,%/extra,$(KERNELDIR))
9 rpmrelease = devel
11 LINUX = ../linux-2.6
13 all::
14 $(MAKE) -C $(KERNELDIR) M=`pwd` "$$@"
16 sync:
17 rsync --exclude='*.mod.c' "$(LINUX)"/drivers/kvm/*.[ch] .
18 rsync "$(LINUX)"/include/linux/kvm.h \
19 "$(LINUX)"/include/linux/kvm_para.h \
20 include/linux
21 sed -i 's/f_path\./f_/' kvm_main.c
22 sed -i 's/f_mnt/f_vfsmnt/' kvm_main.c
23 mv kvm_main.c kvm_main.c.orig
24 awk '/^static int kvmfs_get_sb/ \
25 { print "#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,16)\n"; \
26 hacking_get_sb = 1 \
27 } \
28 { print } \
29 /\}/ && hacking_get_sb { print "\n#endif"; hacking_get_sb = 0 } \
30 ' kvm_main.c.orig > kvm_main.c
31 rm kvm_main.c.orig
33 install:
34 mkdir -p $(DESTDIR)/$(INSTALLDIR)
35 cp *.ko $(DESTDIR)/$(INSTALLDIR)
36 /sbin/depmod -a
38 tmpspec = .tmp.kvm-kmod.spec
39 RPMDIR = $$(pwd)/../RPMS
40 rpm: all
41 mkdir -p ../BUILD $(RPMDIR)/$$(uname -m)
42 sed 's/^Release:.*/Release: $(rpmrelease)/' kvm-kmod.spec > $(tmpspec)
43 rpmbuild --define="kverrel $(KVERREL)" \
44 --define="objdir $$(pwd)" \
45 --define="_rpmdir $(RPMDIR)" \
46 --define="_topdir $$(pwd)/.." \
47 -bb $(tmpspec)
49 clean:
50 $(MAKE) -C $(KERNELDIR) M=`pwd` $@
52 svnclean:
53 svn st | grep '^\?' | awk '{print $2}' | xargs rm -rf