1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Makefile for the linux kernel. 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunCFLAGS_armv8_deprecated.o := -I$(src) 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunCFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) 9*4882a593SmuzhiyunCFLAGS_REMOVE_insn.o = $(CC_FLAGS_FTRACE) 10*4882a593SmuzhiyunCFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FTRACE) 11*4882a593SmuzhiyunCFLAGS_io.o := -D__DISABLE_TRACE_MMIO__ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Object file lists. 14*4882a593Smuzhiyunobj-y := debug-monitors.o entry.o irq.o fpsimd.o \ 15*4882a593Smuzhiyun entry-common.o entry-fpsimd.o process.o ptrace.o \ 16*4882a593Smuzhiyun setup.o signal.o sys.o stacktrace.o time.o traps.o \ 17*4882a593Smuzhiyun io.o vdso.o hyp-stub.o psci.o cpu_ops.o insn.o \ 18*4882a593Smuzhiyun return_address.o cpuinfo.o cpu_errata.o \ 19*4882a593Smuzhiyun cpufeature.o alternative.o cacheinfo.o \ 20*4882a593Smuzhiyun smp.o smp_spin_table.o topology.o smccc-call.o \ 21*4882a593Smuzhiyun syscall.o proton-pack.o idreg-override.o 22*4882a593Smuzhiyun 23*4882a593Smuzhiyuntargets += efi-entry.o 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunOBJCOPYFLAGS := --prefix-symbols=__efistub_ 26*4882a593Smuzhiyun$(obj)/%.stub.o: $(obj)/%.o FORCE 27*4882a593Smuzhiyun $(call if_changed,objcopy) 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunobj-$(CONFIG_COMPAT) += sys32.o signal32.o \ 30*4882a593Smuzhiyun sys_compat.o 31*4882a593Smuzhiyunobj-$(CONFIG_COMPAT) += sigreturn32.o 32*4882a593Smuzhiyunobj-$(CONFIG_KUSER_HELPERS) += kuser32.o 33*4882a593Smuzhiyunobj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o 34*4882a593Smuzhiyunobj-$(CONFIG_MODULES) += module.o 35*4882a593Smuzhiyunobj-$(CONFIG_ARM64_MODULE_PLTS) += module-plts.o 36*4882a593Smuzhiyunobj-$(CONFIG_PERF_EVENTS) += perf_regs.o perf_callchain.o 37*4882a593Smuzhiyunobj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o 38*4882a593Smuzhiyunobj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o 39*4882a593Smuzhiyunobj-$(CONFIG_CPU_PM) += sleep.o suspend.o 40*4882a593Smuzhiyunobj-$(CONFIG_CPU_IDLE) += cpuidle.o 41*4882a593Smuzhiyunobj-$(CONFIG_JUMP_LABEL) += jump_label.o 42*4882a593Smuzhiyunobj-$(CONFIG_KGDB) += kgdb.o 43*4882a593Smuzhiyunobj-$(CONFIG_EFI) += efi.o efi-entry.stub.o \ 44*4882a593Smuzhiyun efi-rt-wrapper.o 45*4882a593Smuzhiyunobj-$(CONFIG_PCI) += pci.o 46*4882a593Smuzhiyunobj-$(CONFIG_ARMV8_DEPRECATED) += armv8_deprecated.o 47*4882a593Smuzhiyunobj-$(CONFIG_ACPI) += acpi.o 48*4882a593Smuzhiyunobj-$(CONFIG_ACPI_NUMA) += acpi_numa.o 49*4882a593Smuzhiyunobj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o 50*4882a593Smuzhiyunobj-$(CONFIG_PARAVIRT) += paravirt.o 51*4882a593Smuzhiyunobj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o 52*4882a593Smuzhiyunobj-$(CONFIG_HIBERNATION) += hibernate.o hibernate-asm.o 53*4882a593Smuzhiyunobj-$(CONFIG_KEXEC_CORE) += machine_kexec.o relocate_kernel.o \ 54*4882a593Smuzhiyun cpu-reset.o 55*4882a593Smuzhiyunobj-$(CONFIG_KEXEC_FILE) += machine_kexec_file.o kexec_image.o 56*4882a593Smuzhiyunobj-$(CONFIG_ARM64_RELOC_TEST) += arm64-reloc-test.o 57*4882a593Smuzhiyunarm64-reloc-test-y := reloc_test_core.o reloc_test_syms.o 58*4882a593Smuzhiyunobj-$(CONFIG_CRASH_DUMP) += crash_dump.o 59*4882a593Smuzhiyunobj-$(CONFIG_CRASH_CORE) += crash_core.o 60*4882a593Smuzhiyunobj-$(CONFIG_ARM_SDE_INTERFACE) += sdei.o 61*4882a593Smuzhiyunobj-$(CONFIG_ARM64_PTR_AUTH) += pointer_auth.o 62*4882a593Smuzhiyunobj-$(CONFIG_ARM64_MTE) += mte.o 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunobj-y += vdso/ probes/ 65*4882a593Smuzhiyunobj-$(CONFIG_COMPAT_VDSO) += vdso32/ 66*4882a593Smuzhiyunhead-y := head.o 67*4882a593Smuzhiyunextra-y += $(head-y) vmlinux.lds 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunifeq ($(CONFIG_DEBUG_EFI),y) 70*4882a593SmuzhiyunAFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath $(objtree)/vmlinux)\"" 71*4882a593Smuzhiyunendif 72