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