debuggers.hg

view linux-2.6.10-xen-sparse/arch/xen/i386/kernel/Makefile @ 3628:48cc820f2cff

bitkeeper revision 1.1159.223.52 (41fb7ba0KYbuQ5SmW1MZjMO0P-RCew)

Small build fixes. Xen and XenLinux now build for x86_32 from within an
x86_64 build environment if you set TARGET_ARCH=x86_32.
author kaf24@viper.(none)
date Sat Jan 29 12:03:44 2005 +0000 (2005-01-29)
parents fefd1123461f
children 96a5638d65e5
line source
1 #
2 # Makefile for the linux kernel.
3 #
5 XENARCH := $(subst ",,$(CONFIG_XENARCH))
7 CFLAGS += -Iarch/$(XENARCH)/kernel
9 extra-y := head.o init_task.o
11 obj-y := process.o signal.o entry.o traps.o \
12 time.o ioport.o ldt.o setup.o \
13 pci-dma.o i386_ksyms.o
15 c-obj-y := semaphore.o irq.o vm86.o \
16 ptrace.o sys_i386.o \
17 i387.o dmi_scan.o bootflag.o \
18 doublefault.o quirks.o
19 s-obj-y :=
21 obj-y += cpu/
22 obj-y += timers/
23 c-obj-$(CONFIG_ACPI_BOOT) += acpi/
24 #c-obj-$(CONFIG_X86_BIOS_REBOOT) += reboot.o
25 c-obj-$(CONFIG_MCA) += mca.o
26 c-obj-$(CONFIG_X86_MSR) += msr.o
27 c-obj-$(CONFIG_X86_CPUID) += cpuid.o
28 obj-$(CONFIG_MICROCODE) += microcode.o
29 c-obj-$(CONFIG_APM) += apm.o
30 c-obj-$(CONFIG_X86_SMP) += smp.o smpboot.o
31 c-obj-$(CONFIG_X86_TRAMPOLINE) += trampoline.o
32 c-obj-$(CONFIG_X86_MPPARSE) += mpparse.o
33 c-obj-$(CONFIG_X86_LOCAL_APIC) += apic.o nmi.o
34 c-obj-$(CONFIG_X86_IO_APIC) += io_apic.o
35 c-obj-$(CONFIG_X86_NUMAQ) += numaq.o
36 c-obj-$(CONFIG_X86_SUMMIT_NUMA) += summit.o
37 c-obj-$(CONFIG_MODULES) += module.o
38 c-obj-y += sysenter.o
39 obj-y += vsyscall.o
40 c-obj-$(CONFIG_ACPI_SRAT) += srat.o
41 c-obj-$(CONFIG_HPET_TIMER) += time_hpet.o
42 c-obj-$(CONFIG_EFI) += efi.o efi_stub.o
43 c-obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
45 EXTRA_AFLAGS := -traditional
47 c-obj-$(CONFIG_SCx200) += scx200.o
49 # vsyscall.o contains the vsyscall DSO images as __initdata.
50 # We must build both images before we can assemble it.
51 # Note: kbuild does not track this dependency due to usage of .incbin
52 $(obj)/vsyscall.o: $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so
53 targets += $(foreach F,int80 sysenter,vsyscall-$F.o vsyscall-$F.so)
55 # The DSO images are built using a special linker script.
56 quiet_cmd_syscall = SYSCALL $@
57 cmd_syscall = $(CC) -nostdlib -m32 $(SYSCFLAGS_$(@F)) \
58 -Wl,-T,$(filter-out FORCE,$^) -o $@
60 vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1
61 SYSCFLAGS_vsyscall-sysenter.so = $(vsyscall-flags)
62 SYSCFLAGS_vsyscall-int80.so = $(vsyscall-flags)
64 $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so: \
65 $(obj)/vsyscall-%.so: $(obj)/vsyscall.lds $(obj)/vsyscall-%.o FORCE
66 $(call if_changed,syscall)
68 # We also create a special relocatable object that should mirror the symbol
69 # table and layout of the linked DSO. With ld -R we can then refer to
70 # these symbols in the kernel code rather than hand-coded addresses.
71 extra-y += vsyscall-syms.o
72 $(obj)/built-in.o: $(obj)/vsyscall-syms.o
73 $(obj)/built-in.o: ld_flags += -R $(obj)/vsyscall-syms.o
75 SYSCFLAGS_vsyscall-syms.o = -r
76 $(obj)/vsyscall-syms.o: $(obj)/vsyscall.lds $(obj)/vsyscall-sysenter.o FORCE
77 $(call if_changed,syscall)
79 c-link := init_task.o
80 s-link := vsyscall-int80.o vsyscall-sysenter.o vsyscall-sigreturn.o
82 $(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)) $(patsubst %.o,$(obj)/%.S,$(s-obj-y) $(s-link)):
83 @ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@) $@
85 $(obj)/vsyscall-int80.S: $(obj)/vsyscall-sigreturn.S
87 obj-y += $(c-obj-y) $(s-obj-y)
89 clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
90 clean-files += $(patsubst %.o,%.S,$(s-obj-y) $(s-obj-) $(s-link))