blob: 423d871a946ba15ae5b5ea70338530949fa8d166 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Makefile for the Linux/MIPS kernel.
3#
4
Thomas Gleixner957b3692012-05-03 09:02:55 +00005extra-y := head.o vmlinux.lds
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
Ralf Baechle49f2ec92013-05-21 10:53:37 +02007obj-y += cpu-probe.o branch.o entry.o genex.o idle.o irq.o process.o \
John Crispin9169a5d2013-04-11 05:34:59 +00008 prom.o ptrace.o reset.o setup.o signal.o syscall.o \
David Daneyc52d0d32010-02-18 16:13:04 -08009 time.o topology.o traps.o unaligned.o watch.o vdso.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Wu Zhangjind2bb0762009-11-20 20:34:29 +080011ifdef CONFIG_FUNCTION_TRACER
Wu Zhangjin538f1952009-11-20 20:34:32 +080012CFLAGS_REMOVE_ftrace.o = -pg
Wu Zhangjind2bb0762009-11-20 20:34:29 +080013CFLAGS_REMOVE_early_printk.o = -pg
David Daneye5dcb582011-09-24 02:29:55 +020014CFLAGS_REMOVE_perf_event.o = -pg
15CFLAGS_REMOVE_perf_event_mipsxx.o = -pg
Wu Zhangjind2bb0762009-11-20 20:34:29 +080016endif
17
Ralf Baechle217dd112007-11-01 01:57:55 +000018obj-$(CONFIG_CEVT_BCM1480) += cevt-bcm1480.o
Ralf Baechlef772cdb2012-11-30 17:27:27 +010019obj-$(CONFIG_CEVT_R4K) += cevt-r4k.o
Kevin D. Kissell8531a352008-09-09 21:48:52 +020020obj-$(CONFIG_MIPS_MT_SMTC) += cevt-smtc.o
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +090021obj-$(CONFIG_CEVT_DS1287) += cevt-ds1287.o
Raghu Gandham0ab2b7d2013-04-10 16:30:12 -050022obj-$(CONFIG_CEVT_GIC) += cevt-gic.o
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090023obj-$(CONFIG_CEVT_GT641XX) += cevt-gt641xx.o
Ralf Baechle217dd112007-11-01 01:57:55 +000024obj-$(CONFIG_CEVT_SB1250) += cevt-sb1250.o
Atsushi Nemoto229f7732007-10-25 01:34:09 +090025obj-$(CONFIG_CEVT_TXX9) += cevt-txx9.o
Ralf Baechle217dd112007-11-01 01:57:55 +000026obj-$(CONFIG_CSRC_BCM1480) += csrc-bcm1480.o
Steven J. Hilldfa762e2013-04-10 16:28:36 -050027obj-$(CONFIG_CSRC_GIC) += csrc-gic.o
Yoichi Yuasa42474172008-04-24 09:48:40 +090028obj-$(CONFIG_CSRC_IOASIC) += csrc-ioasic.o
David VomLehna3a0f8c2009-08-30 17:15:11 -070029obj-$(CONFIG_CSRC_POWERTV) += csrc-powertv.o
Steven J. Hilld7ea3352012-11-14 23:34:17 -060030obj-$(CONFIG_CSRC_R4K) += csrc-r4k.o
Ralf Baechle217dd112007-11-01 01:57:55 +000031obj-$(CONFIG_CSRC_SB1250) += csrc-sb1250.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010032obj-$(CONFIG_SYNC_R4K) += sync-r4k.o
Ralf Baechle42f77542007-10-18 17:48:11 +010033
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +090034obj-$(CONFIG_STACKTRACE) += stacktrace.o
Thiemo Seufer4e6a05f2005-02-21 10:45:09 +000035obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
David Howells786d35d2012-09-28 14:31:03 +093036obj-$(CONFIG_MODULES_USE_ELF_RELA) += module-rela.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070037
Wu Zhangjin538f1952009-11-20 20:34:32 +080038obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o
Wu Zhangjind2bb0762009-11-20 20:34:29 +080039
Florian Fainelli91405eb2012-01-31 18:18:44 +010040obj-$(CONFIG_CPU_R4K_FPU) += r4k_fpu.o r4k_switch.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070041obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
Fuxin Zhang2a21c732007-06-06 14:52:43 +080042obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
Fuxin Zhang2a21c732007-06-06 14:52:43 +080043obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
Ralf Baechle70342282013-01-22 12:59:30 +010044obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070045
46obj-$(CONFIG_SMP) += smp.o
Ralf Baechle940f6b42007-11-24 22:33:28 +000047obj-$(CONFIG_SMP_UP) += smp-up.o
Kevin Cernekeedf0ac8a2011-11-16 01:25:45 +000048obj-$(CONFIG_CPU_BMIPS) += smp-bmips.o bmips_vec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070049
Ralf Baechle41c594a2006-04-05 09:45:45 +010050obj-$(CONFIG_MIPS_MT) += mips-mt.o
Ralf Baechle295cbf62007-07-03 14:37:43 +010051obj-$(CONFIG_MIPS_MT_FPAFF) += mips-mt-fpaff.o
Ralf Baechle41c594a2006-04-05 09:45:45 +010052obj-$(CONFIG_MIPS_MT_SMTC) += smtc.o smtc-asm.o smtc-proc.o
53obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010054obj-$(CONFIG_MIPS_CMP) += smp-cmp.o
Chris Dearman0b6d4972007-09-13 12:32:02 +010055obj-$(CONFIG_CPU_MIPSR2) += spram.o
Ralf Baechle340ee4b2005-08-17 17:44:08 +000056
Ralf Baechlee01402b2005-07-14 15:57:16 +000057obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o
Ralf Baechle70342282013-01-22 12:59:30 +010058obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o
Ralf Baechlee01402b2005-07-14 15:57:16 +000059
Linus Torvalds1da177e2005-04-16 15:20:36 -070060obj-$(CONFIG_I8259) += i8259.o
61obj-$(CONFIG_IRQ_CPU) += irq_cpu.o
62obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o
Ralf Baechled5deda62008-07-15 18:44:34 +010063obj-$(CONFIG_MIPS_MSC) += irq-msc01.o
Atsushi Nemoto8420fd02007-08-02 23:35:53 +090064obj-$(CONFIG_IRQ_TXX9) += irq_txx9.o
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090065obj-$(CONFIG_IRQ_GT641XX) += irq-gt641xx.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010066obj-$(CONFIG_IRQ_GIC) += irq-gic.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070067
David Daneyc1bf2072010-08-03 11:22:20 -070068obj-$(CONFIG_KPROBES) += kprobes.o
Ralf Baechle875d43e2005-09-03 15:56:16 -070069obj-$(CONFIG_32BIT) += scall32-o32.o
70obj-$(CONFIG_64BIT) += scall64-64.o
Ralf Baechle38201fb2007-02-15 01:53:00 +000071obj-$(CONFIG_MIPS32_COMPAT) += linux32.o ptrace32.o signal32.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070072obj-$(CONFIG_MIPS32_N32) += binfmt_elfn32.o scall64-n32.o signal_n32.o
Ralf Baechle38201fb2007-02-15 01:53:00 +000073obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
Jason Wessel88547002008-07-29 15:58:53 -050075obj-$(CONFIG_KGDB) += kgdb.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070076obj-$(CONFIG_PROC_FS) += proc.o
77
Ralf Baechle875d43e2005-09-03 15:56:16 -070078obj-$(CONFIG_64BIT) += cpu-bugs64.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
Ralf Baechled865bea2007-10-11 23:46:10 +010080obj-$(CONFIG_I8253) += i8253.o
Michael Neulinge5c6c8e2006-03-14 00:11:50 -050081
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +090082obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o
83
Ralf Baechle7aa1c8f2012-10-11 18:14:58 +020084obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o
85obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
Ralf Baechle36a88532007-03-01 11:56:43 +000086obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
David Daneybba90762010-02-16 15:26:35 -080087obj-$(CONFIG_SPINLOCK_TEST) += spinlock_test.o
Gabor Juhos487d70d2010-11-23 16:06:25 +010088obj-$(CONFIG_MIPS_MACHINE) += mips_machine.o
Nicolas Schichan583bb862006-10-18 15:14:55 +020089
Jean Delvareb1e0d8b2012-10-02 16:42:36 +020090CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -x c /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
Ralf Baechlee7c47822007-07-10 17:33:01 +010091
92obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o
Ralf Baechledde96ca2007-07-30 11:48:58 +010093
David Daneye5dcb582011-09-24 02:29:55 +020094obj-$(CONFIG_PERF_EVENTS) += perf_event.o
95obj-$(CONFIG_HW_PERF_EVENTS) += perf_event_mipsxx.o
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +080096
David Daney94bb0c12010-12-28 13:26:23 -080097obj-$(CONFIG_JUMP_LABEL) += jump_label.o
98
Steven J. Hill32a7ede2013-01-03 19:01:52 +000099#
Florian Fainelli63c2b682013-03-18 15:56:10 +0000100# DSP ASE supported for MIPS32 or MIPS64 Release 2 cores only. It is not
101# safe to unconditionnaly use the assembler -mdsp / -mdspr2 switches
102# here because the compiler may use DSP ASE instructions (such as lwx) in
103# code paths where we cannot check that the CPU we are running on supports it.
104# Proper abstraction using HAVE_AS_DSP and macros is done in
105# arch/mips/include/asm/mipsregs.h.
Steven J. Hill32a7ede2013-01-03 19:01:52 +0000106#
107ifeq ($(CONFIG_CPU_MIPSR2), y)
108CFLAGS_DSP = -DHAVE_AS_DSP
109
Steven J. Hill32a7ede2013-01-03 19:01:52 +0000110CFLAGS_signal.o = $(CFLAGS_DSP)
111CFLAGS_signal32.o = $(CFLAGS_DSP)
112CFLAGS_process.o = $(CFLAGS_DSP)
113CFLAGS_branch.o = $(CFLAGS_DSP)
114CFLAGS_ptrace.o = $(CFLAGS_DSP)
115endif
116
Ralf Baechlecf72e942009-12-17 01:57:36 +0000117CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)