1# SPDX-License-Identifier: GPL-2.0 2# 3# Makefile for the Linux/LoongArch kernel. 4# 5 6extra-y := vmlinux.lds 7 8obj-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 unwind.o 12 13obj-$(CONFIG_ACPI) += acpi.o 14obj-$(CONFIG_EFI) += efi.o 15 16obj-$(CONFIG_CPU_HAS_FPU) += fpu.o kfpu.o 17 18obj-$(CONFIG_ARCH_STRICT_ALIGN) += unaligned.o 19 20ifdef CONFIG_FUNCTION_TRACER 21 ifndef CONFIG_DYNAMIC_FTRACE 22 obj-y += mcount.o ftrace.o 23 CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) 24 else 25 obj-y += mcount_dyn.o ftrace_dyn.o 26 CFLAGS_REMOVE_ftrace_dyn.o = $(CC_FLAGS_FTRACE) 27 endif 28 CFLAGS_REMOVE_inst.o = $(CC_FLAGS_FTRACE) 29 CFLAGS_REMOVE_time.o = $(CC_FLAGS_FTRACE) 30 CFLAGS_REMOVE_perf_event.o = $(CC_FLAGS_FTRACE) 31 CFLAGS_REMOVE_rethook.o = $(CC_FLAGS_FTRACE) 32 CFLAGS_REMOVE_rethook_trampoline.o = $(CC_FLAGS_FTRACE) 33endif 34 35obj-$(CONFIG_MODULES) += module.o module-sections.o 36obj-$(CONFIG_STACKTRACE) += stacktrace.o 37 38obj-$(CONFIG_PROC_FS) += proc.o 39 40obj-$(CONFIG_SMP) += smp.o 41 42obj-$(CONFIG_NUMA) += numa.o 43 44obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o 45 46obj-$(CONFIG_RELOCATABLE) += relocate.o 47 48obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o 49obj-$(CONFIG_CRASH_DUMP) += crash_dump.o 50 51obj-$(CONFIG_UNWINDER_GUESS) += unwind_guess.o 52obj-$(CONFIG_UNWINDER_PROLOGUE) += unwind_prologue.o 53 54obj-$(CONFIG_PERF_EVENTS) += perf_event.o perf_regs.o 55obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o 56 57obj-$(CONFIG_KPROBES) += kprobes.o 58obj-$(CONFIG_RETHOOK) += rethook.o rethook_trampoline.o 59obj-$(CONFIG_UPROBES) += uprobes.o 60 61obj-$(CONFIG_JUMP_LABEL) += jump_label.o 62 63CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS) 64