1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 >> 2 2 # 3 # 3 # Makefile for the linux kernel. 4 # Makefile for the linux kernel. 4 # 5 # 5 6 6 CFLAGS_armv8_deprecated.o := -I$(src) !! 7 asflags-y := -ansi 7 << 8 CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) << 9 CFLAGS_REMOVE_insn.o = $(CC_FLAGS_FTRACE) << 10 CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FT << 11 << 12 # Remove stack protector to avoid triggering u << 13 # checks due to randomize_kstack_offset. << 14 CFLAGS_REMOVE_syscall.o = -fstack-protector - << 15 CFLAGS_syscall.o += -fno-stack-protecto << 16 << 17 # When KASAN is enabled, a stack trace is reco << 18 # can significantly impact performance. Avoid << 19 # collection code to minimize this impact. << 20 KASAN_SANITIZE_stacktrace.o := n << 21 << 22 # It's not safe to invoke KCOV when portions o << 23 # available or are out-of-sync with HW state. << 24 # inhibit KCOV instrumentation, disable it for << 25 KCOV_INSTRUMENT_entry-common.o := n << 26 KCOV_INSTRUMENT_idle.o := n << 27 << 28 # Object file lists. << 29 obj-y := debug-monitors.o en << 30 entry-common.o entr << 31 setup.o signal.o sy << 32 io.o vdso.o hyp-stu << 33 return_address.o cp << 34 cpufeature.o altern << 35 smp.o smp_spin_tabl << 36 syscall.o proton-pa << 37 << 38 obj-$(CONFIG_COMPAT) += sys << 39 sys << 40 obj-$(CONFIG_COMPAT) += sig << 41 obj-$(CONFIG_COMPAT_ALIGNMENT_FIXUPS) += com << 42 obj-$(CONFIG_KUSER_HELPERS) += kus << 43 obj-$(CONFIG_FUNCTION_TRACER) += ftr << 44 obj-$(CONFIG_MODULES) += mod << 45 obj-$(CONFIG_PERF_EVENTS) += per << 46 obj-$(CONFIG_HARDLOCKUP_DETECTOR_PERF) += wat << 47 obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_ << 48 obj-$(CONFIG_CPU_PM) += sle << 49 obj-$(CONFIG_JUMP_LABEL) += jum << 50 obj-$(CONFIG_KGDB) += kgd << 51 obj-$(CONFIG_EFI) += efi << 52 obj-$(CONFIG_PCI) += pci << 53 obj-$(CONFIG_ARMV8_DEPRECATED) += arm << 54 obj-$(CONFIG_ACPI) += acp << 55 obj-$(CONFIG_ACPI_NUMA) += acp << 56 obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) << 57 obj-$(CONFIG_PARAVIRT) += par << 58 obj-$(CONFIG_RANDOMIZE_BASE) += kas << 59 obj-$(CONFIG_HIBERNATION) += hib << 60 obj-$(CONFIG_ELF_CORE) += elf << 61 obj-$(CONFIG_KEXEC_CORE) += mac << 62 cpu << 63 obj-$(CONFIG_KEXEC_FILE) += mac << 64 obj-$(CONFIG_ARM64_RELOC_TEST) += arm << 65 arm64-reloc-test-y := reloc_test_core.o reloc_ << 66 obj-$(CONFIG_CRASH_DUMP) += cra << 67 obj-$(CONFIG_VMCORE_INFO) += vmc << 68 obj-$(CONFIG_ARM_SDE_INTERFACE) += sde << 69 obj-$(CONFIG_ARM64_PTR_AUTH) += poi << 70 obj-$(CONFIG_ARM64_MTE) += mte << 71 obj-y += vds << 72 obj-$(CONFIG_COMPAT_VDSO) += vds << 73 << 74 # Force dependency (vdso*-wrap.S includes vdso << 75 $(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so << 76 $(obj)/vdso32-wrap.o: $(obj)/vdso32/vdso.so << 77 << 78 obj-y += pro << 79 obj-y += hea << 80 extra-y += vml << 81 8 82 ifeq ($(CONFIG_DEBUG_EFI),y) !! 9 # Undefine sparc when processing vmlinux.lds - it is used 83 AFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath !! 10 # And teach CPP we are doing $(BITS) builds (for this case) >> 11 CPPFLAGS_vmlinux.lds := -Usparc -m$(BITS) >> 12 extra-y += vmlinux.lds >> 13 >> 14 ifdef CONFIG_FUNCTION_TRACER >> 15 # Do not profile debug and lowlevel utilities >> 16 CFLAGS_REMOVE_ftrace.o := -pg >> 17 CFLAGS_REMOVE_time_$(BITS).o := -pg >> 18 CFLAGS_REMOVE_perf_event.o := -pg >> 19 CFLAGS_REMOVE_pcr.o := -pg 84 endif 20 endif 85 21 86 # for cleaning !! 22 obj-y := head_$(BITS).o 87 subdir- += vdso vdso32 !! 23 obj-$(CONFIG_SPARC64) += urtt_fill.o >> 24 obj-$(CONFIG_SPARC32) += entry.o wof.o wuf.o >> 25 obj-$(CONFIG_SPARC32) += etrap_32.o >> 26 obj-$(CONFIG_SPARC32) += rtrap_32.o >> 27 obj-y += traps_$(BITS).o >> 28 >> 29 # IRQ >> 30 obj-y += irq_$(BITS).o >> 31 obj-$(CONFIG_SPARC32) += sun4m_irq.o sun4d_irq.o >> 32 >> 33 obj-y += process_$(BITS).o >> 34 obj-y += process.o >> 35 obj-y += signal_$(BITS).o >> 36 obj-y += sigutil_$(BITS).o >> 37 obj-$(CONFIG_SPARC32) += ioport.o >> 38 obj-y += setup_$(BITS).o >> 39 obj-y += idprom.o >> 40 obj-y += sys_sparc_$(BITS).o >> 41 obj-$(CONFIG_SPARC32) += systbls_32.o >> 42 obj-y += time_$(BITS).o >> 43 obj-$(CONFIG_SPARC32) += windows.o >> 44 obj-y += cpu.o >> 45 obj-$(CONFIG_SPARC64) += vdso.o >> 46 obj-$(CONFIG_SPARC32) += devices.o >> 47 obj-y += ptrace_$(BITS).o >> 48 obj-y += unaligned_$(BITS).o >> 49 obj-y += una_asm_$(BITS).o >> 50 obj-y += prom_common.o >> 51 obj-y += prom_$(BITS).o >> 52 obj-y += of_device_common.o >> 53 obj-y += of_device_$(BITS).o >> 54 obj-$(CONFIG_SPARC64) += prom_irqtrans.o >> 55 >> 56 obj-$(CONFIG_SPARC32) += leon_kernel.o >> 57 obj-$(CONFIG_SPARC32) += leon_pmc.o >> 58 >> 59 obj-$(CONFIG_SPARC64) += reboot.o >> 60 obj-$(CONFIG_SPARC64) += sysfs.o >> 61 obj-$(CONFIG_SPARC64) += iommu.o iommu-common.o >> 62 obj-$(CONFIG_SPARC64) += central.o >> 63 obj-$(CONFIG_SPARC64) += starfire.o >> 64 obj-$(CONFIG_SPARC64) += power.o >> 65 obj-$(CONFIG_SPARC64) += sbus.o >> 66 obj-$(CONFIG_SPARC64) += ebus.o >> 67 obj-$(CONFIG_SPARC64) += visemul.o >> 68 obj-$(CONFIG_SPARC64) += hvapi.o >> 69 obj-$(CONFIG_SPARC64) += sstate.o >> 70 obj-$(CONFIG_SPARC64) += mdesc.o >> 71 obj-$(CONFIG_SPARC64) += adi_64.o >> 72 obj-$(CONFIG_SPARC64) += pcr.o >> 73 obj-$(CONFIG_SPARC64) += nmi.o >> 74 obj-$(CONFIG_SPARC64_SMP) += cpumap.o >> 75 >> 76 obj-$(CONFIG_PCIC_PCI) += pcic.o >> 77 obj-$(CONFIG_LEON_PCI) += leon_pci.o >> 78 obj-$(CONFIG_SPARC_GRPCI2)+= leon_pci_grpci2.o >> 79 obj-$(CONFIG_SPARC_GRPCI1)+= leon_pci_grpci1.o >> 80 >> 81 obj-$(CONFIG_SMP) += trampoline_$(BITS).o smp_$(BITS).o >> 82 obj-$(CONFIG_SPARC32_SMP) += sun4m_smp.o sun4d_smp.o leon_smp.o >> 83 obj-$(CONFIG_SPARC64_SMP) += hvtramp.o >> 84 >> 85 obj-y += auxio_$(BITS).o >> 86 obj-$(CONFIG_SUN_PM) += apc.o pmc.o >> 87 >> 88 obj-y += termios.o >> 89 >> 90 obj-$(CONFIG_MODULES) += module.o >> 91 obj-$(CONFIG_MODULES) += sparc_ksyms.o >> 92 obj-$(CONFIG_SPARC_LED) += led.o >> 93 obj-$(CONFIG_KGDB) += kgdb_$(BITS).o >> 94 >> 95 obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o >> 96 obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o >> 97 >> 98 obj-$(CONFIG_EARLYFB) += btext.o >> 99 obj-$(CONFIG_STACKTRACE) += stacktrace.o >> 100 # sparc64 PCI >> 101 obj-$(CONFIG_SPARC64_PCI) += pci.o pci_common.o psycho_common.o >> 102 obj-$(CONFIG_SPARC64_PCI) += pci_psycho.o pci_sabre.o pci_schizo.o >> 103 obj-$(CONFIG_SPARC64_PCI) += pci_sun4v.o pci_sun4v_asm.o pci_fire.o >> 104 obj-$(CONFIG_SPARC64_PCI_MSI) += pci_msi.o >> 105 >> 106 >> 107 obj-$(CONFIG_COMPAT) += sys32.o sys_sparc32.o signal32.o >> 108 >> 109 obj-$(CONFIG_US3_MC) += chmc.o >> 110 >> 111 obj-$(CONFIG_KPROBES) += kprobes.o >> 112 obj-$(CONFIG_SUN_LDOMS) += ldc.o vio.o viohs.o ds.o >> 113 >> 114 obj-$(CONFIG_AUDIT) += audit.o >> 115 audit--$(CONFIG_AUDIT) := compat_audit.o >> 116 obj-$(CONFIG_COMPAT) += $(audit--y) >> 117 >> 118 pc--$(CONFIG_PERF_EVENTS) := perf_event.o >> 119 obj-$(CONFIG_SPARC64) += $(pc--y) >> 120 >> 121 obj-$(CONFIG_UPROBES) += uprobes.o >> 122 obj-$(CONFIG_JUMP_LABEL) += jump_label.o
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.