1# 2# Makefile for the linux kernel. 3# 4 5CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET) 6AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET) 7CFLAGS_efi-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET) 8CFLAGS_armv8_deprecated.o := -I$(src) 9 10KASAN_SANITIZE_efi-stub.o := n 11 12CFLAGS_REMOVE_ftrace.o = -pg 13CFLAGS_REMOVE_insn.o = -pg 14CFLAGS_REMOVE_return_address.o = -pg 15 16# Object file lists. 17arm64-obj-y := debug-monitors.o entry.o irq.o fpsimd.o \ 18 entry-fpsimd.o process.o ptrace.o setup.o signal.o \ 19 sys.o stacktrace.o time.o traps.o io.o vdso.o \ 20 hyp-stub.o psci.o psci-call.o cpu_ops.o insn.o \ 21 return_address.o cpuinfo.o cpu_errata.o \ 22 cpufeature.o alternative.o cacheinfo.o \ 23 smp.o smp_spin_table.o topology.o 24 25stub-obj := efi-stub.o efi-entry.o 26extra-y := $(stub-obj) 27stub-obj := $(patsubst %.o,%.stub.o,$(stub-obj)) 28 29OBJCOPYFLAGS := --prefix-symbols=__efistub_ 30$(obj)/%.stub.o: $(obj)/%.o FORCE 31 $(call if_changed,objcopy) 32 33arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \ 34 sys_compat.o entry32.o \ 35 ../../arm/kernel/opcodes.o 36arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o 37arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o 38arm64-obj-$(CONFIG_PERF_EVENTS) += perf_regs.o perf_callchain.o 39arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o 40arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o 41arm64-obj-$(CONFIG_CPU_PM) += sleep.o suspend.o 42arm64-obj-$(CONFIG_CPU_IDLE) += cpuidle.o 43arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o 44arm64-obj-$(CONFIG_KGDB) += kgdb.o 45arm64-obj-$(CONFIG_EFI) += efi.o $(stub-obj) 46arm64-obj-$(CONFIG_PCI) += pci.o 47arm64-obj-$(CONFIG_ARMV8_DEPRECATED) += armv8_deprecated.o 48arm64-obj-$(CONFIG_ACPI) += acpi.o 49 50obj-y += $(arm64-obj-y) vdso/ 51obj-m += $(arm64-obj-m) 52head-y := head.o 53extra-y += $(head-y) vmlinux.lds 54 55# vDSO - this must be built first to generate the symbol offsets 56$(call objectify,$(arm64-obj-y)): $(obj)/vdso/vdso-offsets.h 57$(obj)/vdso/vdso-offsets.h: $(obj)/vdso 58