# SPDX-License-Identifier: GPL-2.0 
 | 
  
 | 
# 
 | 
# Makefile for the linux kernel. 
 | 
# 
 | 
  
 | 
asflags-y := -ansi 
 | 
ccflags-y := -Werror 
 | 
  
 | 
extra-y     := head_$(BITS).o 
 | 
  
 | 
# Undefine sparc when processing vmlinux.lds - it is used 
 | 
# And teach CPP we are doing $(BITS) builds (for this case) 
 | 
CPPFLAGS_vmlinux.lds := -Usparc -m$(BITS) 
 | 
extra-y              += vmlinux.lds 
 | 
  
 | 
ifdef CONFIG_FUNCTION_TRACER 
 | 
# Do not profile debug and lowlevel utilities 
 | 
CFLAGS_REMOVE_ftrace.o := -pg 
 | 
CFLAGS_REMOVE_time_$(BITS).o := -pg 
 | 
CFLAGS_REMOVE_perf_event.o := -pg 
 | 
CFLAGS_REMOVE_pcr.o := -pg 
 | 
endif 
 | 
  
 | 
obj-$(CONFIG_SPARC64)   += urtt_fill.o 
 | 
obj-$(CONFIG_SPARC32)   += entry.o wof.o wuf.o 
 | 
obj-$(CONFIG_SPARC32)   += etrap_32.o 
 | 
obj-$(CONFIG_SPARC32)   += rtrap_32.o 
 | 
obj-y                   += traps_$(BITS).o 
 | 
  
 | 
# IRQ 
 | 
obj-y                   += irq_$(BITS).o 
 | 
obj-$(CONFIG_SPARC32)   += sun4m_irq.o sun4d_irq.o 
 | 
  
 | 
obj-y                   += process_$(BITS).o 
 | 
obj-y                   += signal_$(BITS).o 
 | 
obj-y                   += sigutil_$(BITS).o 
 | 
obj-$(CONFIG_SPARC32)   += ioport.o 
 | 
obj-y                   += setup_$(BITS).o 
 | 
obj-y                   += idprom.o 
 | 
obj-y                   += sys_sparc_$(BITS).o 
 | 
obj-$(CONFIG_SPARC32)   += systbls_32.o 
 | 
obj-y                   += time_$(BITS).o 
 | 
obj-$(CONFIG_SPARC32)   += windows.o 
 | 
obj-y                   += cpu.o 
 | 
obj-$(CONFIG_SPARC64)    += vdso.o 
 | 
obj-$(CONFIG_SPARC32)   += devices.o 
 | 
obj-y                   += ptrace_$(BITS).o 
 | 
obj-y                   += unaligned_$(BITS).o 
 | 
obj-y                   += una_asm_$(BITS).o 
 | 
obj-y                   += prom_common.o 
 | 
obj-y                   += prom_$(BITS).o 
 | 
obj-y                   += of_device_common.o 
 | 
obj-y                   += of_device_$(BITS).o 
 | 
obj-$(CONFIG_SPARC64)   += prom_irqtrans.o 
 | 
  
 | 
obj-$(CONFIG_SPARC32)   += leon_kernel.o 
 | 
obj-$(CONFIG_SPARC32)   += leon_pmc.o 
 | 
  
 | 
obj-$(CONFIG_SPARC64)   += reboot.o 
 | 
obj-$(CONFIG_SPARC64)   += sysfs.o 
 | 
obj-$(CONFIG_SPARC64)   += iommu.o iommu-common.o 
 | 
obj-$(CONFIG_SPARC64)   += central.o 
 | 
obj-$(CONFIG_SPARC64)   += starfire.o 
 | 
obj-$(CONFIG_SPARC64)   += power.o 
 | 
obj-$(CONFIG_SPARC64)   += sbus.o 
 | 
obj-$(CONFIG_SPARC64)   += ebus.o 
 | 
obj-$(CONFIG_SPARC64)   += visemul.o 
 | 
obj-$(CONFIG_SPARC64)   += hvapi.o 
 | 
obj-$(CONFIG_SPARC64)   += sstate.o 
 | 
obj-$(CONFIG_SPARC64)   += mdesc.o 
 | 
obj-$(CONFIG_SPARC64)   += adi_64.o 
 | 
obj-$(CONFIG_SPARC64)    += pcr.o 
 | 
obj-$(CONFIG_SPARC64)    += nmi.o 
 | 
obj-$(CONFIG_SPARC64_SMP) += cpumap.o 
 | 
  
 | 
obj-$(CONFIG_PCIC_PCI)    += pcic.o 
 | 
obj-$(CONFIG_LEON_PCI)    += leon_pci.o 
 | 
obj-$(CONFIG_SPARC_GRPCI2)+= leon_pci_grpci2.o 
 | 
obj-$(CONFIG_SPARC_GRPCI1)+= leon_pci_grpci1.o 
 | 
  
 | 
obj-$(CONFIG_SMP)         += trampoline_$(BITS).o smp_$(BITS).o 
 | 
obj-$(CONFIG_SPARC32_SMP) += sun4m_smp.o sun4d_smp.o leon_smp.o 
 | 
obj-$(CONFIG_SPARC64_SMP) += hvtramp.o 
 | 
  
 | 
obj-y                     += auxio_$(BITS).o 
 | 
obj-$(CONFIG_SUN_PM)      += apc.o pmc.o 
 | 
  
 | 
obj-$(CONFIG_MODULES)     += module.o 
 | 
obj-$(CONFIG_MODULES)     += sparc_ksyms.o 
 | 
obj-$(CONFIG_SPARC_LED)   += led.o 
 | 
obj-$(CONFIG_KGDB)        += kgdb_$(BITS).o 
 | 
  
 | 
  
 | 
obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o 
 | 
obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o 
 | 
  
 | 
obj-$(CONFIG_EARLYFB) += btext.o 
 | 
obj-$(CONFIG_STACKTRACE)     += stacktrace.o 
 | 
# sparc64 PCI 
 | 
obj-$(CONFIG_SPARC64_PCI)    += pci.o pci_common.o psycho_common.o 
 | 
obj-$(CONFIG_SPARC64_PCI)    += pci_psycho.o pci_sabre.o pci_schizo.o 
 | 
obj-$(CONFIG_SPARC64_PCI)    += pci_sun4v.o pci_sun4v_asm.o pci_fire.o 
 | 
obj-$(CONFIG_SPARC64_PCI_MSI) += pci_msi.o 
 | 
  
 | 
obj-$(CONFIG_COMPAT)         += sys32.o sys_sparc32.o signal32.o 
 | 
  
 | 
obj-$(CONFIG_US3_MC)    += chmc.o 
 | 
  
 | 
obj-$(CONFIG_KPROBES)   += kprobes.o 
 | 
obj-$(CONFIG_SUN_LDOMS) += ldc.o vio.o viohs.o ds.o 
 | 
  
 | 
obj-$(CONFIG_AUDIT)     += audit.o 
 | 
audit--$(CONFIG_AUDIT)  := compat_audit.o 
 | 
obj-$(CONFIG_COMPAT)    += $(audit--y) 
 | 
  
 | 
pc--$(CONFIG_PERF_EVENTS) := perf_event.o 
 | 
obj-$(CONFIG_SPARC64)    += $(pc--y) 
 | 
  
 | 
obj-$(CONFIG_UPROBES)    += uprobes.o 
 | 
obj-$(CONFIG_JUMP_LABEL) += jump_label.o 
 |