xref: /openbmc/linux/arch/sh/kernel/Makefile (revision e3d786a3)
1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the Linux/SuperH kernel.
4#
5
6extra-y	:= head_$(BITS).o vmlinux.lds
7
8ifdef CONFIG_FUNCTION_TRACER
9# Do not profile debug and lowlevel utilities
10CFLAGS_REMOVE_ftrace.o = -pg
11endif
12
13CFLAGS_REMOVE_return_address.o = -pg
14
15obj-y	:= debugtraps.o dumpstack.o 		\
16	   idle.o io.o irq.o irq_$(BITS).o kdebugfs.o			\
17	   machvec.o nmi_debug.o process.o				\
18	   process_$(BITS).o ptrace.o ptrace_$(BITS).o			\
19	   reboot.o return_address.o					\
20	   setup.o signal_$(BITS).o sys_sh.o 				\
21	   syscalls_$(BITS).o time.o topology.o traps.o			\
22	   traps_$(BITS).o unwinder.o
23
24ifndef CONFIG_GENERIC_IOMAP
25obj-y				+= iomap.o
26obj-$(CONFIG_HAS_IOPORT_MAP)	+= ioport.o
27endif
28
29obj-$(CONFIG_SUPERH32)		+= sys_sh32.o
30obj-y				+= cpu/
31obj-$(CONFIG_VSYSCALL)		+= vsyscall/
32obj-$(CONFIG_SMP)		+= smp.o
33obj-$(CONFIG_SH_STANDARD_BIOS)	+= sh_bios.o
34obj-$(CONFIG_KGDB)		+= kgdb.o
35obj-$(CONFIG_MODULES)		+= sh_ksyms_$(BITS).o module.o
36obj-$(CONFIG_KEXEC)		+= machine_kexec.o relocate_kernel.o
37obj-$(CONFIG_CRASH_DUMP)	+= crash_dump.o
38obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
39obj-$(CONFIG_IO_TRAPPED)	+= io_trapped.o
40obj-$(CONFIG_KPROBES)		+= kprobes.o
41obj-$(CONFIG_DYNAMIC_FTRACE)	+= ftrace.o
42obj-$(CONFIG_FTRACE_SYSCALLS)	+= ftrace.o
43obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
44obj-$(CONFIG_DUMP_CODE)		+= disassemble.o
45obj-$(CONFIG_HIBERNATION)	+= swsusp.o
46obj-$(CONFIG_DWARF_UNWINDER)	+= dwarf.o
47obj-$(CONFIG_PERF_EVENTS)	+= perf_event.o perf_callchain.o
48obj-$(CONFIG_DMA_NONCOHERENT)	+= dma-coherent.o
49obj-$(CONFIG_HAVE_HW_BREAKPOINT)		+= hw_breakpoint.o
50
51ccflags-y := -Werror
52