Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild
[linux-2.6] / arch / ppc64 / kernel / Makefile
1 #
2 # Makefile for the linux ppc64 kernel.
3 #
4
5 EXTRA_CFLAGS    += -mno-minimal-toc
6 extra-y         := head.o vmlinux.lds
7
8 obj-y               :=  setup.o entry.o traps.o irq.o idle.o dma.o \
9                         time.o process.o signal.o syscalls.o misc.o ptrace.o \
10                         align.o semaphore.o bitops.o pacaData.o \
11                         udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o \
12                         ptrace32.o signal32.o rtc.o init_task.o \
13                         lmb.o cputable.o cpu_setup_power4.o idle_power4.o \
14                         iommu.o sysfs.o vdso.o pmc.o firmware.o
15 obj-y += vdso32/ vdso64/
16
17 obj-$(CONFIG_PPC_OF) += of_device.o
18
19 pci-obj-$(CONFIG_PPC_ISERIES)   += iSeries_pci.o iSeries_irq.o \
20                                 iSeries_VpdInfo.o
21 pci-obj-$(CONFIG_PPC_MULTIPLATFORM)     += pci_dn.o pci_direct_iommu.o
22
23 obj-$(CONFIG_PCI)       += pci.o pci_iommu.o iomap.o $(pci-obj-y)
24
25 obj-$(CONFIG_PPC_ISERIES) += HvCall.o HvLpConfig.o LparData.o \
26                              iSeries_setup.o ItLpQueue.o hvCall.o \
27                              mf.o HvLpEvent.o iSeries_proc.o iSeries_htab.o \
28                              iSeries_iommu.o
29
30 obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o i8259.o prom_init.o prom.o
31
32 obj-$(CONFIG_PPC_PSERIES) += pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o \
33                              pSeries_nvram.o rtasd.o ras.o pSeries_reconfig.o \
34                              pSeries_setup.o pSeries_iommu.o
35
36 obj-$(CONFIG_PPC_BPA) += bpa_setup.o bpa_iommu.o bpa_nvram.o \
37                          bpa_iic.o spider-pic.o
38
39 obj-$(CONFIG_KEXEC)             += machine_kexec.o
40 obj-$(CONFIG_EEH)               += eeh.o
41 obj-$(CONFIG_PROC_FS)           += proc_ppc64.o
42 obj-$(CONFIG_RTAS_FLASH)        += rtas_flash.o
43 obj-$(CONFIG_SMP)               += smp.o
44 obj-$(CONFIG_MODULES)           += module.o ppc_ksyms.o
45 obj-$(CONFIG_PPC_RTAS)          += rtas.o rtas_pci.o
46 obj-$(CONFIG_RTAS_PROC)         += rtas-proc.o
47 obj-$(CONFIG_SCANLOG)           += scanlog.o
48 obj-$(CONFIG_VIOPATH)           += viopath.o
49 obj-$(CONFIG_LPARCFG)           += lparcfg.o
50 obj-$(CONFIG_HVC_CONSOLE)       += hvconsole.o
51 obj-$(CONFIG_BOOTX_TEXT)        += btext.o
52 obj-$(CONFIG_HVCS)              += hvcserver.o
53
54 vio-obj-$(CONFIG_PPC_PSERIES)   += pSeries_vio.o
55 vio-obj-$(CONFIG_PPC_ISERIES)   += iSeries_vio.o
56 obj-$(CONFIG_IBMVIO)            += vio.o $(vio-obj-y)
57 obj-$(CONFIG_XICS)              += xics.o
58 obj-$(CONFIG_MPIC)              += mpic.o
59
60 obj-$(CONFIG_PPC_PMAC)          += pmac_setup.o pmac_feature.o pmac_pci.o \
61                                    pmac_time.o pmac_nvram.o pmac_low_i2c.o
62
63 obj-$(CONFIG_PPC_MAPLE)         += maple_setup.o maple_pci.o maple_time.o
64
65 obj-$(CONFIG_U3_DART)           += u3_iommu.o
66
67 ifdef CONFIG_SMP
68 obj-$(CONFIG_PPC_PMAC)          += pmac_smp.o smp-tbsync.o
69 obj-$(CONFIG_PPC_ISERIES)       += iSeries_smp.o
70 obj-$(CONFIG_PPC_PSERIES)       += pSeries_smp.o
71 obj-$(CONFIG_PPC_BPA)           += pSeries_smp.o
72 obj-$(CONFIG_PPC_MAPLE)         += smp-tbsync.o
73 endif
74
75 obj-$(CONFIG_ALTIVEC)           += vecemu.o vector.o
76 obj-$(CONFIG_KPROBES)           += kprobes.o
77
78 CFLAGS_ioctl32.o += -Ifs/
79
80 ifeq ($(CONFIG_PPC_ISERIES),y)
81 arch/ppc64/kernel/head.o: arch/ppc64/kernel/lparmap.s
82 AFLAGS_head.o += -Iarch/ppc64/kernel
83 endif