[PATCH] [kvm-userspace] Make "make sync" in kernel dir work for multiple archs

Jerone Young
2008-04-15T02:46:43Z

1 file changed, 13 insertions(+), 5 deletions(-)
kernel/Makefile | 18 +++++++++++++-----

This patch add the ability for make sync in the kernel directory to work for mulitiple architectures and not just x86.

Signed-off-by: Jerone Young <jyoung5@us.ibm.com>

diff --git a/kernel/Makefile b/kernel/Makefile
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -1,5 +1,10 @@ include ../config.mak
include ../config.mak

+ASM_DIR=$(ARCH)
+ifneq '$(filter $(ASM_DIR), x86_64 i386 ia64)' ''
+ ASM_DIR=x86
+endif
+
KVERREL = $(patsubst /lib/modules/%/build,%,$(KERNELDIR))

DESTDIR=
@@ -34,15 +39,16 @@ sync:
sync:
rm -rf tmp include
rsync --exclude='*.mod.c' -R \
- "$(LINUX)"/arch/x86/kvm/./*.[ch] \
+ "$(LINUX)"/arch/$(ASM_DIR)/kvm/./*.[ch] \
"$(LINUX)"/virt/kvm/./*.[ch] \
"$(LINUX)"/./include/linux/kvm*.h \
- "$(LINUX)"/./include/asm-x86/kvm*.h \
+ "$(LINUX)"/./include/asm-$(ASM_DIR)/kvm*.h \
tmp/
- mkdir -p include/linux include/asm-x86
- ln -s asm-x86 include/asm
- ln -sf asm-x86 include-compat/asm
+ mkdir -p include/linux include/asm-$(ASM_DIR)
+ ln -s asm-$(ASM_DIR) include/asm
+ ln -sf asm-$(ASM_DIR) include-compat/asm

+ifneq '$(filter $(ASM_DIR), x86_64 i386 ia64)' ''
$(call unifdef, include/linux/kvm.h)
$(call unifdef, include/linux/kvm_para.h)
$(call unifdef, include/asm-x86/kvm.h)
@@ -54,6 +60,8 @@ sync:
$(call hack, svm.c)
$(call hack, x86.c)
$(call hack, irq.h)
+endif
+
for i in $$(find tmp -type f -printf '%P '); \
do cmp -s $$i tmp/$$i || cp tmp/$$i $$i; done
rm -rf tmp