1 # SPDX-License-Identifier: GPL-2.0 << 2 # 1 # 3 # Makefile for the linux kernel. 2 # Makefile for the linux kernel. 4 # 3 # 5 4 6 CFLAGS_armv8_deprecated.o := -I$(src) !! 5 ifdef CONFIG_PPC64BRIDGE 7 !! 6 EXTRA_AFLAGS := -Wa,-mppc64bridge 8 CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) !! 7 endif 9 CFLAGS_REMOVE_insn.o = $(CC_FLAGS_FTRACE) !! 8 ifdef CONFIG_4xx 10 CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FT !! 9 EXTRA_AFLAGS := -Wa,-m405 11 !! 10 endif 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 11 78 obj-y += pro !! 12 # Start off with 'head.o', change as needed. 79 obj-y += hea !! 13 extra-y := head.o 80 extra-y += vml !! 14 extra-$(CONFIG_40x) := head_4xx.o >> 15 extra-$(CONFIG_44x) := head_44x.o >> 16 extra-$(CONFIG_8xx) := head_8xx.o >> 17 extra-$(CONFIG_6xx) += idle_6xx.o >> 18 extra-$(CONFIG_POWER4) += idle_power4.o >> 19 extra-y += vmlinux.lds.s >> 20 >> 21 obj-y := entry.o traps.o irq.o idle.o time.o misc.o \ >> 22 process.o signal.o ptrace.o align.o \ >> 23 semaphore.o syscalls.o setup.o \ >> 24 cputable.o ppc_htab.o >> 25 obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o >> 26 obj-$(CONFIG_MODULES) += module.o ppc_ksyms.o >> 27 obj-$(CONFIG_PCI) += pci.o >> 28 obj-$(CONFIG_PCI) += pci-dma.o >> 29 obj-$(CONFIG_KGDB) += ppc-stub.o >> 30 obj-$(CONFIG_SMP) += smp.o >> 31 obj-$(CONFIG_TAU) += temp.o 81 32 82 ifeq ($(CONFIG_DEBUG_EFI),y) !! 33 ifdef CONFIG_MATH_EMULATION 83 AFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath !! 34 obj-$(CONFIG_8xx) += softemu8xx.o 84 endif 35 endif 85 36 86 # for cleaning << 87 subdir- += vdso vdso32 <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.