blob: 9733b3f0eb6d8f2ef1a64a1907ac7cc7871eee1f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Makefile for the linux kernel.
3#
4
Heiko Carstens5d360a72008-12-25 13:38:56 +01005ifdef CONFIG_FUNCTION_TRACER
Heiko Carstens88dbd202009-06-12 10:26:46 +02006# Don't trace early setup code and tracing code
Heiko Carstens5d360a72008-12-25 13:38:56 +01007CFLAGS_REMOVE_early.o = -pg
Heiko Carstensdfd9f7a2009-06-12 10:26:44 +02008CFLAGS_REMOVE_ftrace.o = -pg
9endif
10
Heiko Carstens98c7b382008-03-05 12:37:09 +010011#
12# Passing null pointers is ok for smp code, since we access the lowcore here.
13#
14CFLAGS_smp.o := -Wno-nonnull
15
Martin Schwidefsky63506c42008-07-14 09:58:54 +020016#
17# Pass UTS_MACHINE for user_regset definition
18#
19CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'
20
Heiko Carstens94f5b092009-03-26 15:23:50 +010021CFLAGS_sysinfo.o += -Iinclude/math-emu -Iarch/s390/math-emu -w
22
Heiko Carstensd7b250e2011-05-26 09:48:24 +020023obj-y := bitmap.o traps.o time.o process.o base.o early.o setup.o vtime.o \
24 processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o \
25 debug.o irq.o ipl.o dis.o diag.o mem_detect.o sclp.o vdso.o \
Michael Holzheu4857d4b2012-03-11 11:59:34 -040026 sysinfo.o jump_label.o lgr.o os_info.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
Martin Schwidefsky347a8dc2006-01-06 00:19:28 -080028obj-y += $(if $(CONFIG_64BIT),entry64.o,entry.o)
29obj-y += $(if $(CONFIG_64BIT),reipl64.o,reipl.o)
30
Thomas Gleixneredd813bb2012-05-03 09:02:58 +000031extra-y += head.o vmlinux.lds
Martin Schwidefsky1844c9b2010-02-26 22:37:53 +010032extra-y += $(if $(CONFIG_64BIT),head64.o,head31.o)
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34obj-$(CONFIG_MODULES) += s390_ksyms.o module.o
Heiko Carstens83a24e32011-12-27 11:27:09 +010035obj-$(CONFIG_SMP) += smp.o
36obj-$(CONFIG_SCHED_BOOK) += topology.o
Heiko Carstensc48ff642009-09-11 10:28:37 +020037obj-$(CONFIG_HIBERNATION) += suspend.o swsusp_asm64.o
Al Viroc0803792006-08-31 19:02:42 -040038obj-$(CONFIG_AUDIT) += audit.o
39compat-obj-$(CONFIG_AUDIT) += compat_audit.o
Martin Schwidefsky347a8dc2006-01-06 00:19:28 -080040obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \
Heiko Carstensf84dfe82006-07-10 04:45:39 -070041 compat_wrapper.o compat_exec_domain.o \
Martin Schwidefsky63506c42008-07-14 09:58:54 +020042 $(compat-obj-y)
Linus Torvalds1da177e2005-04-16 15:20:36 -070043
Heiko Carstens5bdc9b42006-07-03 00:24:41 -070044obj-$(CONFIG_STACKTRACE) += stacktrace.o
Michael Grundy4ba069b2006-09-20 15:58:39 +020045obj-$(CONFIG_KPROBES) += kprobes.o
Martin Schwidefsky6ac2a4d2009-09-11 10:28:33 +020046obj-$(CONFIG_FUNCTION_TRACER) += $(if $(CONFIG_64BIT),mcount64.o,mcount.o)
Heiko Carstensdfd9f7a2009-06-12 10:26:44 +020047obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
Heiko Carstens88dbd202009-06-12 10:26:46 +020048obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
Aristeu Rozanskib0694682009-12-07 12:52:15 +010049obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o
Michael Holzheu60a0c682011-10-30 15:16:40 +010050obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
Hendrik Brueckner212188a2012-03-23 11:13:06 +010051obj-$(CONFIG_PERF_EVENTS) += perf_event.o perf_cpum_cf.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070052
Heiko Carstenscf13f0e2005-06-25 14:58:11 -070053# Kexec part
54S390_KEXEC_OBJS := machine_kexec.o crash.o
Martin Schwidefsky347a8dc2006-01-06 00:19:28 -080055S390_KEXEC_OBJS += $(if $(CONFIG_64BIT),relocate_kernel64.o,relocate_kernel.o)
Heiko Carstenscf13f0e2005-06-25 14:58:11 -070056obj-$(CONFIG_KEXEC) += $(S390_KEXEC_OBJS)
57
Martin Schwidefskyb0206322008-12-25 13:38:36 +010058# vdso
59obj-$(CONFIG_64BIT) += vdso64/
60obj-$(CONFIG_32BIT) += vdso32/
61obj-$(CONFIG_COMPAT) += vdso32/