xref: /linux/arch/sparc/kernel/Makefile (revision 71e2f4dd5a65bd8dbca0b77661e75eea471168f8)
1# SPDX-License-Identifier: GPL-2.0
2
3#
4# Makefile for the linux kernel.
5#
6
7asflags-y := -ansi
8ccflags-y := -Werror
9
10extra-y     := head_$(BITS).o
11
12# Undefine sparc when processing vmlinux.lds - it is used
13# And teach CPP we are doing $(BITS) builds (for this case)
14CPPFLAGS_vmlinux.lds := -Usparc -m$(BITS)
15extra-y              += vmlinux.lds
16
17ifdef CONFIG_FUNCTION_TRACER
18# Do not profile debug and lowlevel utilities
19CFLAGS_REMOVE_ftrace.o := -pg
20CFLAGS_REMOVE_time_$(BITS).o := -pg
21CFLAGS_REMOVE_perf_event.o := -pg
22CFLAGS_REMOVE_pcr.o := -pg
23endif
24
25obj-$(CONFIG_SPARC64)   += urtt_fill.o
26obj-$(CONFIG_SPARC32)   += entry.o wof.o wuf.o
27obj-$(CONFIG_SPARC32)   += etrap_32.o
28obj-$(CONFIG_SPARC32)   += rtrap_32.o
29obj-y                   += traps_$(BITS).o
30
31# IRQ
32obj-y                   += irq_$(BITS).o
33obj-$(CONFIG_SPARC32)   += sun4m_irq.o sun4d_irq.o
34
35obj-y                   += process_$(BITS).o
36obj-y                   += signal_$(BITS).o
37obj-y                   += sigutil_$(BITS).o
38obj-$(CONFIG_SPARC32)   += ioport.o
39obj-y                   += setup_$(BITS).o
40obj-y                   += idprom.o
41obj-y                   += sys_sparc_$(BITS).o
42obj-$(CONFIG_SPARC32)   += systbls_32.o
43obj-y                   += time_$(BITS).o
44obj-$(CONFIG_SPARC32)   += windows.o
45obj-y                   += cpu.o
46obj-$(CONFIG_SPARC64)	+= vdso.o
47obj-$(CONFIG_SPARC32)   += devices.o
48obj-y                   += ptrace_$(BITS).o
49obj-y                   += unaligned_$(BITS).o
50obj-y                   += una_asm_$(BITS).o
51obj-y                   += prom_common.o
52obj-y                   += prom_$(BITS).o
53obj-y                   += of_device_common.o
54obj-y                   += of_device_$(BITS).o
55obj-$(CONFIG_SPARC64)   += prom_irqtrans.o
56
57obj-$(CONFIG_SPARC32)   += leon_kernel.o
58obj-$(CONFIG_SPARC32)   += leon_pmc.o
59
60obj-$(CONFIG_SPARC64)   += reboot.o
61obj-$(CONFIG_SPARC64)   += sysfs.o
62obj-$(CONFIG_SPARC64)   += iommu.o iommu-common.o
63obj-$(CONFIG_SPARC64)   += central.o
64obj-$(CONFIG_SPARC64)   += starfire.o
65obj-$(CONFIG_SPARC64)   += power.o
66obj-$(CONFIG_SPARC64)   += sbus.o
67obj-$(CONFIG_SPARC64)   += ebus.o
68obj-$(CONFIG_SPARC64)   += visemul.o
69obj-$(CONFIG_SPARC64)   += hvapi.o
70obj-$(CONFIG_SPARC64)   += sstate.o
71obj-$(CONFIG_SPARC64)   += mdesc.o
72obj-$(CONFIG_SPARC64)   += adi_64.o
73obj-$(CONFIG_SPARC64)	+= pcr.o
74obj-$(CONFIG_SPARC64)	+= nmi.o
75obj-$(CONFIG_SPARC64_SMP) += cpumap.o
76
77obj-$(CONFIG_PCIC_PCI)    += pcic.o
78obj-$(CONFIG_LEON_PCI)    += leon_pci.o
79obj-$(CONFIG_SPARC_GRPCI2)+= leon_pci_grpci2.o
80obj-$(CONFIG_SPARC_GRPCI1)+= leon_pci_grpci1.o
81
82obj-$(CONFIG_SMP)         += trampoline_$(BITS).o smp_$(BITS).o
83obj-$(CONFIG_SPARC32_SMP) += sun4m_smp.o sun4d_smp.o leon_smp.o
84obj-$(CONFIG_SPARC64_SMP) += hvtramp.o
85
86obj-y                     += auxio_$(BITS).o
87obj-$(CONFIG_SUN_PM)      += apc.o pmc.o
88
89obj-$(CONFIG_MODULES)     += module.o
90obj-$(CONFIG_MODULES)     += sparc_ksyms.o
91obj-$(CONFIG_SPARC_LED)   += led.o
92obj-$(CONFIG_KGDB)        += kgdb_$(BITS).o
93
94
95obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
96obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
97
98obj-$(CONFIG_EARLYFB) += btext.o
99obj-$(CONFIG_STACKTRACE)     += stacktrace.o
100# sparc64 PCI
101obj-$(CONFIG_SPARC64_PCI)    += pci.o pci_common.o psycho_common.o
102obj-$(CONFIG_SPARC64_PCI)    += pci_psycho.o pci_sabre.o pci_schizo.o
103obj-$(CONFIG_SPARC64_PCI)    += pci_sun4v.o pci_sun4v_asm.o pci_fire.o
104obj-$(CONFIG_SPARC64_PCI_MSI) += pci_msi.o
105
106obj-$(CONFIG_COMPAT)         += sys32.o sys_sparc32.o signal32.o
107
108obj-$(CONFIG_US3_MC)    += chmc.o
109
110obj-$(CONFIG_KPROBES)   += kprobes.o
111obj-$(CONFIG_SUN_LDOMS) += ldc.o vio.o viohs.o ds.o
112
113obj-$(CONFIG_AUDIT)     += audit.o
114audit--$(CONFIG_AUDIT)  := compat_audit.o
115obj-$(CONFIG_COMPAT)    += $(audit--y)
116
117pc--$(CONFIG_PERF_EVENTS) := perf_event.o
118obj-$(CONFIG_SPARC64)	+= $(pc--y)
119
120obj-$(CONFIG_UPROBES)	+= uprobes.o
121obj-$(CONFIG_JUMP_LABEL) += jump_label.o
122