linux/arch/arm/kernel/Makefile
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2#
   3# Makefile for the linux kernel.
   4#
   5
   6CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET)
   7AFLAGS_head.o        := -DTEXT_OFFSET=$(TEXT_OFFSET)
   8
   9ifdef CONFIG_FUNCTION_TRACER
  10CFLAGS_REMOVE_ftrace.o = -pg
  11CFLAGS_REMOVE_insn.o = -pg
  12CFLAGS_REMOVE_patch.o = -pg
  13endif
  14
  15CFLAGS_REMOVE_return_address.o = -pg
  16
  17# Object file lists.
  18
  19obj-y           := elf.o entry-common.o irq.o opcodes.o \
  20                   process.o ptrace.o reboot.o io.o \
  21                   setup.o signal.o sigreturn_codes.o \
  22                   stacktrace.o sys_arm.o time.o traps.o
  23
  24KASAN_SANITIZE_stacktrace.o := n
  25KASAN_SANITIZE_traps.o := n
  26
  27ifneq ($(CONFIG_ARM_UNWIND),y)
  28obj-$(CONFIG_FRAME_POINTER)     += return_address.o
  29endif
  30
  31obj-$(CONFIG_ATAGS)             += atags_parse.o
  32obj-$(CONFIG_ATAGS_PROC)        += atags_proc.o
  33obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += atags_compat.o
  34
  35ifeq ($(CONFIG_CPU_V7M),y)
  36obj-y           += entry-v7m.o v7m.o
  37else
  38obj-y           += entry-armv.o
  39endif
  40
  41obj-$(CONFIG_MMU)               += bugs.o
  42obj-$(CONFIG_CPU_IDLE)          += cpuidle.o
  43obj-$(CONFIG_ISA_DMA_API)       += dma.o
  44obj-$(CONFIG_FIQ)               += fiq.o fiqasm.o
  45obj-$(CONFIG_MODULES)           += armksyms.o module.o
  46obj-$(CONFIG_ARM_MODULE_PLTS)   += module-plts.o
  47obj-$(CONFIG_ISA_DMA)           += dma-isa.o
  48obj-$(CONFIG_PCI)               += bios32.o isa.o
  49obj-$(CONFIG_ARM_CPU_SUSPEND)   += sleep.o suspend.o
  50obj-$(CONFIG_HIBERNATION)       += hibernate.o
  51obj-$(CONFIG_SMP)               += smp.o
  52ifdef CONFIG_MMU
  53obj-$(CONFIG_SMP)               += smp_tlb.o
  54endif
  55obj-$(CONFIG_HAVE_ARM_SCU)      += smp_scu.o
  56obj-$(CONFIG_HAVE_ARM_TWD)      += smp_twd.o
  57obj-$(CONFIG_ARM_ARCH_TIMER)    += arch_timer.o
  58obj-$(CONFIG_FUNCTION_TRACER)   += entry-ftrace.o
  59obj-$(CONFIG_DYNAMIC_FTRACE)    += ftrace.o insn.o patch.o
  60obj-$(CONFIG_FUNCTION_GRAPH_TRACER)     += ftrace.o insn.o patch.o
  61obj-$(CONFIG_JUMP_LABEL)        += jump_label.o insn.o patch.o
  62obj-$(CONFIG_KEXEC)             += machine_kexec.o relocate_kernel.o
  63# Main staffs in KPROBES are in arch/arm/probes/ .
  64obj-$(CONFIG_KPROBES)           += patch.o insn.o
  65obj-$(CONFIG_OABI_COMPAT)       += sys_oabi-compat.o
  66obj-$(CONFIG_ARM_THUMBEE)       += thumbee.o
  67obj-$(CONFIG_KGDB)              += kgdb.o patch.o
  68obj-$(CONFIG_ARM_UNWIND)        += unwind.o
  69obj-$(CONFIG_HAVE_TCM)          += tcm.o
  70obj-$(CONFIG_OF)                += devtree.o
  71obj-$(CONFIG_CRASH_DUMP)        += crash_dump.o
  72obj-$(CONFIG_SWP_EMULATE)       += swp_emulate.o
  73CFLAGS_swp_emulate.o            := -Wa,-march=armv7-a
  74obj-$(CONFIG_HAVE_HW_BREAKPOINT)        += hw_breakpoint.o
  75
  76obj-$(CONFIG_CPU_XSCALE)        += xscale-cp0.o
  77obj-$(CONFIG_CPU_XSC3)          += xscale-cp0.o
  78obj-$(CONFIG_CPU_MOHAWK)        += xscale-cp0.o
  79obj-$(CONFIG_CPU_PJ4)           += pj4-cp0.o
  80obj-$(CONFIG_CPU_PJ4B)          += pj4-cp0.o
  81obj-$(CONFIG_IWMMXT)            += iwmmxt.o
  82obj-$(CONFIG_PERF_EVENTS)       += perf_regs.o perf_callchain.o
  83obj-$(CONFIG_HW_PERF_EVENTS)    += perf_event_xscale.o perf_event_v6.o \
  84                                   perf_event_v7.o
  85AFLAGS_iwmmxt.o                 := -Wa,-mcpu=iwmmxt
  86obj-$(CONFIG_ARM_CPU_TOPOLOGY)  += topology.o
  87obj-$(CONFIG_VDSO)              += vdso.o
  88obj-$(CONFIG_EFI)               += efi.o
  89obj-$(CONFIG_PARAVIRT)  += paravirt.o
  90
  91head-y                  := head$(MMUEXT).o
  92obj-$(CONFIG_DEBUG_LL)  += debug.o
  93obj-$(CONFIG_EARLY_PRINTK)      += early_printk.o
  94obj-$(CONFIG_ARM_PATCH_PHYS_VIRT)       += phys2virt.o
  95
  96# This is executed very early using a temporary stack when no memory allocator
  97# nor global data is available. Everything has to be allocated on the stack.
  98CFLAGS_head-inflate-data.o := $(call cc-option,-Wframe-larger-than=10240)
  99obj-$(CONFIG_XIP_DEFLATED_DATA) += head-inflate-data.o
 100
 101obj-$(CONFIG_ARM_VIRT_EXT)      += hyp-stub.o
 102AFLAGS_hyp-stub.o               :=-Wa,-march=armv7-a
 103ifeq ($(CONFIG_ARM_PSCI),y)
 104obj-$(CONFIG_SMP)               += psci_smp.o
 105endif
 106
 107obj-$(CONFIG_HAVE_ARM_SMCCC)    += smccc-call.o
 108
 109extra-y := $(head-y) vmlinux.lds
 110