From: Avi Kivity <a...@redhat.com> This makes it possible to call it without running ./configure.
Signed-off-by: Avi Kivity <a...@redhat.com> diff --git a/Makefile b/Makefile index 0413212..ff6945e 100644 --- a/Makefile +++ b/Makefile @@ -19,21 +19,6 @@ rpmrelease = devel LINUX = ./linux-2.6 -version = $(KVM_VERSION) - -_hack = mv $1 $1.orig && \ - gawk -v version=$(version) -f $(ARCH_DIR)/hack-module.awk $1.orig \ - | sed '/\#include/! s/\blapic\b/l_apic/g' > $1 && rm $1.orig - -unifdef = mv $1 $1.orig && cat unifdef.h $1.orig > $1 && rm $1.orig - -hack = $(call _hack,$T/$(strip $1)) - -hack-files-x86 = kvm_main.c mmu.c vmx.c svm.c x86.c irq.h lapic.c i8254.c kvm_trace.c timer.c -hack-files-ia64 = kvm_main.c kvm_fw.c kvm_lib.c kvm-ia64.c - -hack-files = $(hack-files-$(ARCH_DIR)) - ifeq ($(EXT_CONFIG_KVM_TRACE),y) module_defines += -DEXT_CONFIG_KVM_TRACE=y endif @@ -48,54 +33,10 @@ all:: prerequisite -include `pwd`/$(ARCH_DIR)/external-module-compat.h $(module_defines)" "$$@" -sync: header-sync source-sync - -T = $(subst -sync,,$@)-tmp - -headers-old = $(LINUX)/./include/asm-$(ARCH_DIR)/kvm*.h -headers-new = $(LINUX)/arch/$(ARCH_DIR)/include/asm/./kvm*.h \ - $(LINUX)/arch/$(ARCH_DIR)/include/asm/./vmx*.h \ - $(LINUX)/arch/$(ARCH_DIR)/include/asm/./svm*.h \ - $(LINUX)/arch/$(ARCH_DIR)/include/asm/./virtext*.h - -header-sync: - rm -rf $T - rsync -R -L \ - "$(LINUX)"/./include/linux/kvm*.h \ - $(if $(wildcard $(headers-old)), $(headers-old)) \ - $T/ - $(if $(wildcard $(headers-new)), \ - rsync -R -L \ - $(wildcard $(headers-new)) \ - $T/include/asm-$(ARCH_DIR)/) - - for i in $$(find $T -name '*.h'); do \ - $(call unifdef,$$i); done - $(call hack, include/linux/kvm.h) - $(call hack, include/asm-$(ARCH_DIR)/kvm.h) - set -e && for i in $$(find $T -type f -printf '%P '); \ - do mkdir -p $$(dirname $$i); cmp -s $$i $T/$$i || cp $T/$$i $$i; done - rm -rf $T - -source-sync: - rm -rf $T - rsync --exclude='*.mod.c' -R \ - "$(LINUX)"/arch/$(ARCH_DIR)/kvm/./*.[cSh] \ - "$(LINUX)"/virt/kvm/./*.[cSh] \ - $T/ - - for i in $$(find $T -name '*.c'); do \ - $(call unifdef,$$i); done - - for i in $(hack-files); \ - do $(call hack, $$i); done - - for i in $$(find $T -type f -printf '%P '); \ - do cmp -s $(ARCH_DIR)/$$i $T/$$i || cp $T/$$i $(ARCH_DIR)/$$i; done - rm -rf $T - include $(MAKEFILE_PRE) +include sync.mak + install: mkdir -p $(DESTDIR)/$(INSTALLDIR) cp $(ARCH_DIR)/*.ko $(DESTDIR)/$(INSTALLDIR) diff --git a/sync.mak b/sync.mak new file mode 100644 index 0000000..801772f --- /dev/null +++ b/sync.mak @@ -0,0 +1,63 @@ +LINUX = ./linux-2.6 + +version = $(KVM_VERSION) + +_hack = mv $1 $1.orig && \ + gawk -v version=$(version) -f $(ARCH_DIR)/hack-module.awk $1.orig \ + | sed '/\#include/! s/\blapic\b/l_apic/g' > $1 && rm $1.orig + +unifdef = mv $1 $1.orig && cat unifdef.h $1.orig > $1 && rm $1.orig + +hack = $(call _hack,$T/$(strip $1)) + +hack-files-x86 = kvm_main.c mmu.c vmx.c svm.c x86.c irq.h lapic.c i8254.c kvm_trace.c timer.c +hack-files-ia64 = kvm_main.c kvm_fw.c kvm_lib.c kvm-ia64.c + +hack-files = $(hack-files-$(ARCH_DIR)) + +sync: header-sync source-sync + +T = $(subst -sync,,$@)-tmp + +headers-old = $(LINUX)/./include/asm-$(ARCH_DIR)/kvm*.h +headers-new = $(LINUX)/arch/$(ARCH_DIR)/include/asm/./kvm*.h \ + $(LINUX)/arch/$(ARCH_DIR)/include/asm/./vmx*.h \ + $(LINUX)/arch/$(ARCH_DIR)/include/asm/./svm*.h \ + $(LINUX)/arch/$(ARCH_DIR)/include/asm/./virtext*.h + +header-sync: + rm -rf $T + rsync -R -L \ + "$(LINUX)"/./include/linux/kvm*.h \ + $(if $(wildcard $(headers-old)), $(headers-old)) \ + $T/ + $(if $(wildcard $(headers-new)), \ + rsync -R -L \ + $(wildcard $(headers-new)) \ + $T/include/asm-$(ARCH_DIR)/) + + for i in $$(find $T -name '*.h'); do \ + $(call unifdef,$$i); done + $(call hack, include/linux/kvm.h) + $(call hack, include/asm-$(ARCH_DIR)/kvm.h) + set -e && for i in $$(find $T -type f -printf '%P '); \ + do mkdir -p $$(dirname $$i); cmp -s $$i $T/$$i || cp $T/$$i $$i; done + rm -rf $T + +source-sync: + rm -rf $T + rsync --exclude='*.mod.c' -R \ + "$(LINUX)"/arch/$(ARCH_DIR)/kvm/./*.[cSh] \ + "$(LINUX)"/virt/kvm/./*.[cSh] \ + $T/ + + for i in $$(find $T -name '*.c'); do \ + $(call unifdef,$$i); done + + for i in $(hack-files); \ + do $(call hack, $$i); done + + for i in $$(find $T -type f -printf '%P '); \ + do cmp -s $(ARCH_DIR)/$$i $T/$$i || cp $T/$$i $(ARCH_DIR)/$$i; done + rm -rf $T + -- To unsubscribe from this list: send the line "unsubscribe kvm-commits" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html