[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] linux: adjust make logic for -xen files.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1184330106 -3600 # Node ID 50477b1b30168ed149e225530ae2b5f9b47ab2b0 # Parent 670f8d5305d25cfd79da42eb89d6f50ac745281c linux: adjust make logic for -xen files. The changed logic allows having *-xen.[cS] files anywhere in the tree, without a need to modify the corresponding Makefiles. The patch also cleans up Makefiles modified for Xen as far as possible. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- arch/i386/Makefile | 1 - arch/i386/kernel/Makefile | 26 ++++++-------------------- arch/i386/kernel/acpi/Makefile | 4 ---- arch/i386/kernel/cpu/Makefile | 4 ---- arch/i386/kernel/cpu/mtrr/Makefile | 8 +------- arch/i386/mm/Makefile | 9 +-------- arch/i386/pci/Makefile | 5 ----- arch/x86_64/Makefile | 1 - arch/x86_64/ia32/Makefile | 13 +++---------- arch/x86_64/kernel/Makefile | 18 ++++-------------- arch/x86_64/mm/Makefile | 13 +++---------- arch/x86_64/pci/Makefile | 7 ------- scripts/Makefile.build | 12 ++++++++++++ scripts/Makefile.lib | 6 ++++++ scripts/Makefile.xen.awk | 34 ++++++++++++++++++++++++++++++++++ 15 files changed, 70 insertions(+), 91 deletions(-) diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/Makefile --- a/arch/i386/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -116,7 +116,6 @@ PHONY += zImage bzImage compressed zlilo ifdef CONFIG_XEN CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS) -head-y := arch/i386/kernel/head-xen.o arch/i386/kernel/init_task-xen.o boot := arch/i386/boot-xen .PHONY: vmlinuz all: vmlinuz diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/Makefile --- a/arch/i386/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -43,12 +43,7 @@ EXTRA_AFLAGS := -traditional EXTRA_AFLAGS := -traditional obj-$(CONFIG_SCx200) += scx200.o - -ifdef CONFIG_XEN -vsyscall_note := vsyscall-note-xen.o -else -vsyscall_note := vsyscall-note.o -endif +obj-$(CONFIG_XEN) += fixup.o # vsyscall.o contains the vsyscall DSO images as __initdata. # We must build both images before we can assemble it. @@ -71,7 +66,7 @@ SYSCFLAGS_vsyscall-int80.so = $(vsyscall $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so: \ $(obj)/vsyscall-%.so: $(src)/vsyscall.lds \ - $(obj)/vsyscall-%.o $(obj)/$(vsyscall_note) FORCE + $(obj)/vsyscall-%.o $(obj)/vsyscall-note.o FORCE $(call if_changed,syscall) # We also create a special relocatable object that should mirror the symbol @@ -83,20 +78,11 @@ extra-y += vsyscall-syms.o SYSCFLAGS_vsyscall-syms.o = -r $(obj)/vsyscall-syms.o: $(src)/vsyscall.lds \ - $(obj)/vsyscall-sysenter.o $(obj)/$(vsyscall_note) FORCE + $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-note.o FORCE $(call if_changed,syscall) +early_printk-y += ../../x86_64/kernel/early_printk.o k8-y += ../../x86_64/kernel/k8.o -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen - -obj-y += fixup.o -microcode-$(subst m,y,$(CONFIG_MICROCODE)) := microcode-xen.o -n-obj-xen := i8259.o timers/ reboot.o smpboot.o trampoline.o - -obj-y := $(call filterxen, $(obj-y), $(n-obj-xen)) -obj-y := $(call cherrypickxen, $(obj-y)) -extra-y := $(call cherrypickxen, $(extra-y)) -%/head-xen.o %/head-xen.s: EXTRA_AFLAGS := -endif +disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o +%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) := diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/acpi/Makefile --- a/arch/i386/kernel/acpi/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/kernel/acpi/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -6,7 +6,3 @@ obj-y += cstate.o processor.o obj-y += cstate.o processor.o endif -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen -obj-y := $(call cherrypickxen, $(obj-y), $(src)) -endif diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/cpu/Makefile --- a/arch/i386/kernel/cpu/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/kernel/cpu/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -18,7 +18,3 @@ obj-$(CONFIG_MTRR) += mtrr/ obj-$(CONFIG_MTRR) += mtrr/ obj-$(CONFIG_CPU_FREQ) += cpufreq/ -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen -obj-y := $(call cherrypickxen, $(obj-y), $(src)) -endif diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/cpu/mtrr/Makefile --- a/arch/i386/kernel/cpu/mtrr/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/kernel/cpu/mtrr/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -3,10 +3,4 @@ obj-y += cyrix.o obj-y += cyrix.o obj-y += centaur.o -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen -n-obj-xen := generic.o state.o amd.o cyrix.o centaur.o - -obj-y := $(call filterxen, $(obj-y), $(n-obj-xen)) -obj-y := $(call cherrypickxen, $(obj-y)) -endif +obj-$(CONFIG_XEN) := main.o if.o diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/mm/Makefile --- a/arch/i386/mm/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/mm/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -8,11 +8,4 @@ obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpag obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o obj-$(CONFIG_HIGHMEM) += highmem.o obj-$(CONFIG_BOOT_IOREMAP) += boot_ioremap.o - -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen - -obj-y += hypervisor.o - -obj-y := $(call cherrypickxen, $(obj-y)) -endif +obj-$(CONFIG_XEN) += hypervisor.o diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/pci/Makefile --- a/arch/i386/pci/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/i386/pci/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -16,8 +16,3 @@ pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o obj-y += $(pci-y) common.o - -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen -obj-y := $(call cherrypickxen, $(obj-y)) -endif diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/Makefile --- a/arch/x86_64/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/x86_64/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -80,7 +80,6 @@ PHONY += bzImage bzlilo install archmrpr ifdef CONFIG_XEN CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS) -head-y := arch/x86_64/kernel/head-xen.o arch/x86_64/kernel/head64-xen.o arch/x86_64/kernel/init_task.o LDFLAGS_vmlinux := -e startup_64 boot := arch/i386/boot-xen .PHONY: vmlinuz diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/ia32/Makefile --- a/arch/x86_64/ia32/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/x86_64/ia32/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -37,15 +37,8 @@ AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 ifdef CONFIG_XEN AFLAGS_vsyscall-int80.o = -m32 -Wa,-32 -Iarch/i386/kernel -CFLAGS_syscall32-xen.o += -DUSE_INT80 -AFLAGS_syscall32_syscall-xen.o += -DUSE_INT80 +CFLAGS_syscall32.o += -DUSE_INT80 +AFLAGS_syscall32_syscall.o += -DUSE_INT80 -$(obj)/syscall32_syscall-xen.o: \ - $(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so) - -targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so) - -include $(srctree)/scripts/Makefile.xen - -obj-y := $(call cherrypickxen, $(obj-y)) +$(obj)/syscall32_syscall.o: $(obj)/vsyscall-int80.so endif diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/kernel/Makefile --- a/arch/x86_64/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/x86_64/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -57,18 +57,8 @@ msr-$(subst m,y,$(CONFIG_X86_MSR)) += . msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o alternative-y += ../../i386/kernel/alternative.o -ifdef CONFIG_XEN -time-y += ../../i386/kernel/time-xen.o -pci-dma-y += ../../i386/kernel/pci-dma-xen.o -microcode-$(subst m,y,$(CONFIG_MICROCODE)) := ../../i386/kernel/microcode-xen.o -quirks-y := ../../i386/kernel/quirks-xen.o +time-$(CONFIG_XEN) += ../../i386/kernel/time.o +pci-dma-$(CONFIG_XEN) += ../../i386/kernel/pci-dma.o -n-obj-xen := i8259.o reboot.o i8237.o smpboot.o trampoline.o - -include $(srctree)/scripts/Makefile.xen - -obj-y := $(call filterxen, $(obj-y), $(n-obj-xen)) -obj-y := $(call cherrypickxen, $(obj-y)) -extra-y := $(call cherrypickxen, $(extra-y)) -%/head-xen.o %/head-xen.s: EXTRA_AFLAGS := -endif +disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o +%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) := diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/mm/Makefile --- a/arch/x86_64/mm/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/x86_64/mm/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -7,15 +7,8 @@ obj-$(CONFIG_NUMA) += numa.o obj-$(CONFIG_NUMA) += numa.o obj-$(CONFIG_K8_NUMA) += k8topology.o obj-$(CONFIG_ACPI_NUMA) += srat.o +obj-$(CONFIG_XEN) += hypervisor.o hugetlbpage-y = ../../i386/mm/hugetlbpage.o - -ifdef CONFIG_XEN -include $(srctree)/scripts/Makefile.xen - -ioremap-y += ../../i386/mm/ioremap-xen.o -hypervisor-y += ../../i386/mm/hypervisor.o -obj-y += hypervisor.o - -obj-y := $(call cherrypickxen, $(obj-y)) -endif +ioremap-$(CONFIG_XEN) := ../../i386/mm/ioremap.o +hypervisor-y := ../../i386/mm/hypervisor.o diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/pci/Makefile --- a/arch/x86_64/pci/Makefile Thu Jul 12 16:05:09 2007 +0100 +++ b/arch/x86_64/pci/Makefile Fri Jul 13 13:35:06 2007 +0100 @@ -28,10 +28,3 @@ fixup-y += ../../i386/pci/fixup.o fixup-y += ../../i386/pci/fixup.o i386-y += ../../i386/pci/i386.o init-y += ../../i386/pci/init.o - -ifdef CONFIG_XEN -irq-y := ../../i386/pci/irq-xen.o -include $(srctree)/scripts/Makefile.xen - -obj-y := $(call cherrypickxen, $(obj-y)) -endif diff -r 670f8d5305d2 -r 50477b1b3016 scripts/Makefile.build --- a/scripts/Makefile.build Thu Jul 12 16:05:09 2007 +0100 +++ b/scripts/Makefile.build Fri Jul 13 13:35:06 2007 +0100 @@ -66,6 +66,18 @@ endif ifndef obj $(warning kbuild: Makefile.build is included improperly) +endif + +ifeq ($(CONFIG_XEN),y) +$(objtree)/scripts/Makefile.xen: $(srctree)/scripts/Makefile.xen.awk $(srctree)/scripts/Makefile.build + @echo ' Updating $@' + @$(AWK) -f $< $(filter-out $<,$^) >$@ + +xen-src-single-used-m := $(patsubst $(srctree)/%,%,$(wildcard $(addprefix $(srctree)/,$(single-used-m:.o=-xen.c)))) +xen-single-used-m := $(xen-src-single-used-m:-xen.c=.o) +single-used-m := $(filter-out $(xen-single-used-m),$(single-used-m)) + +-include $(objtree)/scripts/Makefile.xen endif # =========================================================================== diff -r 670f8d5305d2 -r 50477b1b3016 scripts/Makefile.lib --- a/scripts/Makefile.lib Thu Jul 12 16:05:09 2007 +0100 +++ b/scripts/Makefile.lib Fri Jul 13 13:35:06 2007 +0100 @@ -12,6 +12,12 @@ obj-m := $(filter-out $(obj-y),$(obj-m)) # Filter out objects already built-in lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m))) + +# Remove objects forcibly disabled + +obj-y := $(filter-out $(disabled-obj-y),$(obj-y)) +obj-m := $(filter-out $(disabled-obj-y),$(obj-m)) +lib-y := $(filter-out $(disabled-obj-y),$(lib-y)) # Handle objects in subdirs diff -r 670f8d5305d2 -r 50477b1b3016 scripts/Makefile.xen.awk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/Makefile.xen.awk Fri Jul 13 13:35:06 2007 +0100 @@ -0,0 +1,34 @@ +BEGIN { + is_rule = 0 +} + +/^[[:space:]]*#/ { + next +} + +/^[[:space:]]*$/ { + if (is_rule) + print("") + is_rule = 0 + next +} + +/:[[:space:]]*%\.[cS][[:space:]]/ { + line = gensub(/%.([cS])/, "%-xen.\\1", "g", $0) + line = gensub(/(single-used-m)/, "xen-\\1", "g", line) + print line + is_rule = 1 + next +} + +/^[^\t]$/ { + if (is_rule) + print("") + is_rule = 0 + next +} + +is_rule { + print $0 + next +} _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |