Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # |
| 2 | # Makefile for the linux kernel. |
| 3 | # |
| 4 | |
Heiko Carstens | 5d360a7 | 2008-12-25 13:38:56 +0100 | [diff] [blame] | 5 | ifdef CONFIG_FUNCTION_TRACER |
Heiko Carstens | 88dbd20 | 2009-06-12 10:26:46 +0200 | [diff] [blame] | 6 | # Don't trace early setup code and tracing code |
Heiko Carstens | e6d60b3 | 2015-01-09 13:08:28 +0100 | [diff] [blame] | 7 | CFLAGS_REMOVE_early.o = $(CC_FLAGS_FTRACE) |
| 8 | CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) |
Heiko Carstens | dfd9f7a | 2009-06-12 10:26:44 +0200 | [diff] [blame] | 9 | endif |
| 10 | |
Heiko Carstens | 98c7b38 | 2008-03-05 12:37:09 +0100 | [diff] [blame] | 11 | # |
| 12 | # Passing null pointers is ok for smp code, since we access the lowcore here. |
| 13 | # |
| 14 | CFLAGS_smp.o := -Wno-nonnull |
| 15 | |
Martin Schwidefsky | 63506c4 | 2008-07-14 09:58:54 +0200 | [diff] [blame] | 16 | # |
Heiko Carstens | 1bca09f | 2013-03-14 13:44:25 +0100 | [diff] [blame] | 17 | # Disable tailcall optimizations for stack / callchain walking functions |
| 18 | # since this might generate broken code when accessing register 15 and |
| 19 | # passing its content to other functions. |
| 20 | # |
| 21 | CFLAGS_stacktrace.o += -fno-optimize-sibling-calls |
| 22 | CFLAGS_dumpstack.o += -fno-optimize-sibling-calls |
| 23 | |
| 24 | # |
Martin Schwidefsky | 63506c4 | 2008-07-14 09:58:54 +0200 | [diff] [blame] | 25 | # Pass UTS_MACHINE for user_regset definition |
| 26 | # |
| 27 | CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"' |
| 28 | |
Heiko Carstens | 5a79859a | 2015-02-12 13:08:27 +0100 | [diff] [blame] | 29 | CFLAGS_sysinfo.o += -w |
Heiko Carstens | 94f5b09 | 2009-03-26 15:23:50 +0100 | [diff] [blame] | 30 | |
Martin Schwidefsky | 22362a0 | 2015-07-08 10:20:04 +0200 | [diff] [blame] | 31 | # |
| 32 | # Use -march=z900 for sclp.c to be able to print an error message if |
| 33 | # the kernel is started on a machine which is too old |
| 34 | # |
| 35 | CFLAGS_REMOVE_sclp.o = $(CC_FLAGS_FTRACE) |
| 36 | ifneq ($(CC_FLAGS_MARCH),-march=z900) |
Heiko Carstens | 6527f6e | 2015-11-05 14:03:32 +0100 | [diff] [blame] | 37 | CFLAGS_REMOVE_sclp.o += $(CC_FLAGS_MARCH) |
| 38 | CFLAGS_sclp.o += -march=z900 |
| 39 | AFLAGS_REMOVE_head.o += $(CC_FLAGS_MARCH) |
| 40 | AFLAGS_head.o += -march=z900 |
Martin Schwidefsky | 22362a0 | 2015-07-08 10:20:04 +0200 | [diff] [blame] | 41 | endif |
| 42 | GCOV_PROFILE_sclp.o := n |
| 43 | |
Martin Schwidefsky | b5f87f1 | 2014-10-01 10:57:57 +0200 | [diff] [blame] | 44 | obj-y := traps.o time.o process.o base.o early.o setup.o idle.o vtime.o |
Heiko Carstens | 1bca09f | 2013-03-14 13:44:25 +0100 | [diff] [blame] | 45 | obj-y += processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o |
Heiko Carstens | 066b9fd | 2013-04-26 16:47:28 +0200 | [diff] [blame] | 46 | obj-y += debug.o irq.o ipl.o dis.o diag.o sclp.o vdso.o |
Heiko Carstens | 1bca09f | 2013-03-14 13:44:25 +0100 | [diff] [blame] | 47 | obj-y += sysinfo.o jump_label.o lgr.o os_info.o machine_kexec.o pgm_check.o |
Heiko Carstens | 5a79859a | 2015-02-12 13:08:27 +0100 | [diff] [blame] | 48 | obj-y += runtime_instr.o cache.o dumpstack.o |
Heiko Carstens | 4bfc86c | 2015-02-13 13:04:39 +0100 | [diff] [blame] | 49 | obj-y += entry.o reipl.o relocate_kernel.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | |
Heiko Carstens | 5a79859a | 2015-02-12 13:08:27 +0100 | [diff] [blame] | 51 | extra-y += head.o head64.o vmlinux.lds |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 52 | |
| 53 | obj-$(CONFIG_MODULES) += s390_ksyms.o module.o |
Heiko Carstens | 83a24e3 | 2011-12-27 11:27:09 +0100 | [diff] [blame] | 54 | obj-$(CONFIG_SMP) += smp.o |
Heiko Carstens | 9236b4d | 2015-12-28 13:20:43 +0100 | [diff] [blame] | 55 | obj-$(CONFIG_SCHED_TOPOLOGY) += topology.o |
Heiko Carstens | 304987e | 2015-03-24 08:10:53 +0100 | [diff] [blame] | 56 | obj-$(CONFIG_HIBERNATION) += suspend.o swsusp.o |
Al Viro | c080379 | 2006-08-31 19:02:42 -0400 | [diff] [blame] | 57 | obj-$(CONFIG_AUDIT) += audit.o |
| 58 | compat-obj-$(CONFIG_AUDIT) += compat_audit.o |
Heiko Carstens | fa2a062 | 2014-03-06 11:24:41 +0100 | [diff] [blame] | 59 | obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o |
| 60 | obj-$(CONFIG_COMPAT) += compat_wrapper.o $(compat-obj-y) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 61 | |
Heiko Carstens | 5bdc9b4 | 2006-07-03 00:24:41 -0700 | [diff] [blame] | 62 | obj-$(CONFIG_STACKTRACE) += stacktrace.o |
Michael Grundy | 4ba069b | 2006-09-20 15:58:39 +0200 | [diff] [blame] | 63 | obj-$(CONFIG_KPROBES) += kprobes.o |
Heiko Carstens | 53255c9 | 2014-10-07 15:45:10 +0200 | [diff] [blame] | 64 | obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o |
Michael Holzheu | 60a0c68 | 2011-10-30 15:16:40 +0100 | [diff] [blame] | 65 | obj-$(CONFIG_CRASH_DUMP) += crash_dump.o |
Jan Willeke | 2a0a5b2 | 2014-09-22 16:39:06 +0200 | [diff] [blame] | 66 | obj-$(CONFIG_UPROBES) += uprobes.o |
Heiko Carstens | 305e4f1 | 2012-09-14 12:57:39 +0200 | [diff] [blame] | 67 | |
Heiko Carstens | 5a79859a | 2015-02-12 13:08:27 +0100 | [diff] [blame] | 68 | obj-$(CONFIG_PERF_EVENTS) += perf_event.o perf_cpum_cf.o perf_cpum_sf.o |
| 69 | obj-$(CONFIG_PERF_EVENTS) += perf_cpum_cf_events.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 70 | |
Martin Schwidefsky | b5a6b71 | 2015-08-21 16:05:32 +0200 | [diff] [blame] | 71 | obj-$(CONFIG_TRACEPOINTS) += trace.o |
| 72 | |
Martin Schwidefsky | b020632 | 2008-12-25 13:38:36 +0100 | [diff] [blame] | 73 | # vdso |
Heiko Carstens | 5a79859a | 2015-02-12 13:08:27 +0100 | [diff] [blame] | 74 | obj-y += vdso64/ |
Martin Schwidefsky | b020632 | 2008-12-25 13:38:36 +0100 | [diff] [blame] | 75 | obj-$(CONFIG_COMPAT) += vdso32/ |