Merge tag 'enforcement-4.14-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm64 / kernel / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # Makefile for the linux kernel.
4 #
5
6 CPPFLAGS_vmlinux.lds    := -DTEXT_OFFSET=$(TEXT_OFFSET)
7 AFLAGS_head.o           := -DTEXT_OFFSET=$(TEXT_OFFSET)
8 CFLAGS_armv8_deprecated.o := -I$(src)
9
10 CFLAGS_REMOVE_ftrace.o = -pg
11 CFLAGS_REMOVE_insn.o = -pg
12 CFLAGS_REMOVE_return_address.o = -pg
13
14 CFLAGS_setup.o = -DUTS_MACHINE='"$(UTS_MACHINE)"'
15
16 # Object file lists.
17 arm64-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 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 smccc-call.o
24
25 extra-$(CONFIG_EFI)                     := efi-entry.o
26
27 OBJCOPYFLAGS := --prefix-symbols=__efistub_
28 $(obj)/%.stub.o: $(obj)/%.o FORCE
29         $(call if_changed,objcopy)
30
31 arm64-obj-$(CONFIG_COMPAT)              += sys32.o kuser32.o signal32.o         \
32                                            sys_compat.o entry32.o
33 arm64-obj-$(CONFIG_FUNCTION_TRACER)     += ftrace.o entry-ftrace.o
34 arm64-obj-$(CONFIG_MODULES)             += arm64ksyms.o module.o
35 arm64-obj-$(CONFIG_ARM64_MODULE_PLTS)   += module-plts.o
36 arm64-obj-$(CONFIG_PERF_EVENTS)         += perf_regs.o perf_callchain.o
37 arm64-obj-$(CONFIG_HW_PERF_EVENTS)      += perf_event.o
38 arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT)  += hw_breakpoint.o
39 arm64-obj-$(CONFIG_CPU_PM)              += sleep.o suspend.o
40 arm64-obj-$(CONFIG_CPU_IDLE)            += cpuidle.o
41 arm64-obj-$(CONFIG_JUMP_LABEL)          += jump_label.o
42 arm64-obj-$(CONFIG_KGDB)                += kgdb.o
43 arm64-obj-$(CONFIG_EFI)                 += efi.o efi-entry.stub.o
44 arm64-obj-$(CONFIG_PCI)                 += pci.o
45 arm64-obj-$(CONFIG_ARMV8_DEPRECATED)    += armv8_deprecated.o
46 arm64-obj-$(CONFIG_ACPI)                += acpi.o
47 arm64-obj-$(CONFIG_ACPI_NUMA)           += acpi_numa.o
48 arm64-obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o
49 arm64-obj-$(CONFIG_PARAVIRT)            += paravirt.o
50 arm64-obj-$(CONFIG_RANDOMIZE_BASE)      += kaslr.o
51 arm64-obj-$(CONFIG_HIBERNATION)         += hibernate.o hibernate-asm.o
52 arm64-obj-$(CONFIG_KEXEC)               += machine_kexec.o relocate_kernel.o    \
53                                            cpu-reset.o
54 arm64-obj-$(CONFIG_ARM64_RELOC_TEST)    += arm64-reloc-test.o
55 arm64-reloc-test-y := reloc_test_core.o reloc_test_syms.o
56 arm64-obj-$(CONFIG_CRASH_DUMP)          += crash_dump.o
57
58 obj-y                                   += $(arm64-obj-y) vdso/ probes/
59 obj-m                                   += $(arm64-obj-m)
60 head-y                                  := head.o
61 extra-y                                 += $(head-y) vmlinux.lds
62
63 ifeq ($(CONFIG_DEBUG_EFI),y)
64 AFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath $(objtree)/vmlinux)\""
65 endif
66
67 # will be included by each individual module but not by the core kernel itself
68 extra-$(CONFIG_DYNAMIC_FTRACE) += ftrace-mod.o