1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for the Linux/LoongArch kernel.
8 obj-y += head.o cpu-probe.o cacheinfo.o env.o setup.o entry.o genex.o \
9 traps.o irq.o idle.o process.o dma.o mem.o io.o reset.o switch.o \
10 elf.o syscall.o signal.o time.o topology.o inst.o ptrace.o vdso.o \
11 alternative.o unaligned.o
13 obj-$(CONFIG_ACPI) += acpi.o
14 obj-$(CONFIG_EFI) += efi.o
16 obj-$(CONFIG_CPU_HAS_FPU) += fpu.o
18 ifdef CONFIG_FUNCTION_TRACER
19 ifndef CONFIG_DYNAMIC_FTRACE
20 obj-y += mcount.o ftrace.o
21 CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE)
23 obj-y += mcount_dyn.o ftrace_dyn.o
24 CFLAGS_REMOVE_ftrace_dyn.o = $(CC_FLAGS_FTRACE)
26 CFLAGS_REMOVE_inst.o = $(CC_FLAGS_FTRACE)
27 CFLAGS_REMOVE_time.o = $(CC_FLAGS_FTRACE)
28 CFLAGS_REMOVE_perf_event.o = $(CC_FLAGS_FTRACE)
31 obj-$(CONFIG_MODULES) += module.o module-sections.o
32 obj-$(CONFIG_STACKTRACE) += stacktrace.o
34 obj-$(CONFIG_PROC_FS) += proc.o
36 obj-$(CONFIG_SMP) += smp.o
38 obj-$(CONFIG_NUMA) += numa.o
40 obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
42 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
43 obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
45 obj-$(CONFIG_UNWINDER_GUESS) += unwind_guess.o
46 obj-$(CONFIG_UNWINDER_PROLOGUE) += unwind_prologue.o
48 obj-$(CONFIG_PERF_EVENTS) += perf_event.o perf_regs.o
50 CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)