blob: 64230bc392fa39a26a61d5839ddb93f6bd4d0618 [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
Martin Schwidefsky395d31d2008-12-25 13:39:50 +010023obj-y := bitmap.o traps.o time.o process.o base.o early.o setup.o \
24 processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o \
Martin Schwidefskyb0206322008-12-25 13:38:36 +010025 s390_ext.o debug.o irq.o ipl.o dis.o diag.o mem_detect.o \
Heiko Carstensd90cbd42009-06-12 10:26:24 +020026 vdso.o vtime.o sysinfo.o nmi.o sclp.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
Heiko Carstens0ad775d2005-11-07 00:59:12 -080031extra-y += head.o init_task.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 Carstensdbd70fb2008-04-17 07:46:12 +020035obj-$(CONFIG_SMP) += smp.o topology.o
Heiko Carstens2c2df112010-02-26 22:37:34 +010036obj-$(CONFIG_SMP) += $(if $(CONFIG_64BIT),switch_cpu64.o, \
37 switch_cpu.o)
Heiko Carstensc48ff642009-09-11 10:28:37 +020038obj-$(CONFIG_HIBERNATION) += suspend.o swsusp_asm64.o
Al Viroc0803792006-08-31 19:02:42 -040039obj-$(CONFIG_AUDIT) += audit.o
40compat-obj-$(CONFIG_AUDIT) += compat_audit.o
Martin Schwidefsky347a8dc2006-01-06 00:19:28 -080041obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \
Heiko Carstensf84dfe82006-07-10 04:45:39 -070042 compat_wrapper.o compat_exec_domain.o \
Martin Schwidefsky63506c42008-07-14 09:58:54 +020043 $(compat-obj-y)
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
Heiko Carstens5bdc9b42006-07-03 00:24:41 -070045obj-$(CONFIG_STACKTRACE) += stacktrace.o
Michael Grundy4ba069b2006-09-20 15:58:39 +020046obj-$(CONFIG_KPROBES) += kprobes.o
Martin Schwidefsky6ac2a4d2009-09-11 10:28:33 +020047obj-$(CONFIG_FUNCTION_TRACER) += $(if $(CONFIG_64BIT),mcount64.o,mcount.o)
Heiko Carstensdfd9f7a2009-06-12 10:26:44 +020048obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
Heiko Carstens88dbd202009-06-12 10:26:46 +020049obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
Aristeu Rozanskib0694682009-12-07 12:52:15 +010050obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070051
Heiko Carstenscf13f0e2005-06-25 14:58:11 -070052# Kexec part
53S390_KEXEC_OBJS := machine_kexec.o crash.o
Martin Schwidefsky347a8dc2006-01-06 00:19:28 -080054S390_KEXEC_OBJS += $(if $(CONFIG_64BIT),relocate_kernel64.o,relocate_kernel.o)
Heiko Carstenscf13f0e2005-06-25 14:58:11 -070055obj-$(CONFIG_KEXEC) += $(S390_KEXEC_OBJS)
56
Martin Schwidefskyb0206322008-12-25 13:38:36 +010057# vdso
58obj-$(CONFIG_64BIT) += vdso64/
59obj-$(CONFIG_32BIT) += vdso32/
60obj-$(CONFIG_COMPAT) += vdso32/