blob: 4a603a3ea657e288406c7ce81d114d464e125ac7 [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
Paul Burton90cee752014-09-11 08:30:22 +01007obj-y += cpu-probe.o branch.o elf.o entry.o genex.o idle.o irq.o \
8 process.o prom.o ptrace.o reset.o setup.o signal.o \
9 syscall.o time.o topology.o traps.o unaligned.o watch.o \
10 vdso.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Wu Zhangjind2bb07622009-11-20 20:34:29 +080012ifdef CONFIG_FUNCTION_TRACER
Wu Zhangjin538f1952009-11-20 20:34:32 +080013CFLAGS_REMOVE_ftrace.o = -pg
Wu Zhangjind2bb07622009-11-20 20:34:29 +080014CFLAGS_REMOVE_early_printk.o = -pg
David Daneye5dcb582011-09-24 02:29:55 +020015CFLAGS_REMOVE_perf_event.o = -pg
16CFLAGS_REMOVE_perf_event_mipsxx.o = -pg
Wu Zhangjind2bb07622009-11-20 20:34:29 +080017endif
18
Ralf Baechle217dd112007-11-01 01:57:55 +000019obj-$(CONFIG_CEVT_BCM1480) += cevt-bcm1480.o
Ralf Baechlef772cdb2012-11-30 17:27:27 +010020obj-$(CONFIG_CEVT_R4K) += cevt-r4k.o
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +090021obj-$(CONFIG_CEVT_DS1287) += cevt-ds1287.o
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090022obj-$(CONFIG_CEVT_GT641XX) += cevt-gt641xx.o
Ralf Baechle217dd112007-11-01 01:57:55 +000023obj-$(CONFIG_CEVT_SB1250) += cevt-sb1250.o
Atsushi Nemoto229f7732007-10-25 01:34:09 +090024obj-$(CONFIG_CEVT_TXX9) += cevt-txx9.o
Ralf Baechle217dd112007-11-01 01:57:55 +000025obj-$(CONFIG_CSRC_BCM1480) += csrc-bcm1480.o
Yoichi Yuasa42474172008-04-24 09:48:40 +090026obj-$(CONFIG_CSRC_IOASIC) += csrc-ioasic.o
Steven J. Hilld7ea3352012-11-14 23:34:17 -060027obj-$(CONFIG_CSRC_R4K) += csrc-r4k.o
Ralf Baechle217dd112007-11-01 01:57:55 +000028obj-$(CONFIG_CSRC_SB1250) += csrc-sb1250.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010029obj-$(CONFIG_SYNC_R4K) += sync-r4k.o
Ralf Baechle42f77542007-10-18 17:48:11 +010030
Steven J. Hill29f90872013-11-14 16:12:32 +000031obj-$(CONFIG_DEBUG_FS) += segment.o
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +090032obj-$(CONFIG_STACKTRACE) += stacktrace.o
Thiemo Seufer4e6a05f2005-02-21 10:45:09 +000033obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
David Howells786d35d2012-09-28 14:31:03 +093034obj-$(CONFIG_MODULES_USE_ELF_RELA) += module-rela.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
Ralf Baechle19e2e172012-07-13 23:38:17 +020036obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o
Wu Zhangjin538f1952009-11-20 20:34:32 +080037obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o
Wu Zhangjind2bb07622009-11-20 20:34:29 +080038
Florian Fainelli91405eb2012-01-31 18:18:44 +010039obj-$(CONFIG_CPU_R4K_FPU) += r4k_fpu.o r4k_switch.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070040obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
Fuxin Zhang2a21c732007-06-06 14:52:43 +080041obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
Fuxin Zhang2a21c732007-06-06 14:52:43 +080042obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
David Daneya36d8222014-05-28 23:52:04 +020043obj-$(CONFIG_CPU_CAVIUM_OCTEON) += r4k_fpu.o octeon_switch.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
45obj-$(CONFIG_SMP) += smp.o
Ralf Baechle940f6b42007-11-24 22:33:28 +000046obj-$(CONFIG_SMP_UP) += smp-up.o
Florian Fainelli21b30c02016-02-03 18:14:50 -080047obj-$(CONFIG_CPU_BMIPS) += smp-bmips.o bmips_vec.o bmips_5xxx_init.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070048
Ralf Baechle41c594a2006-04-05 09:45:45 +010049obj-$(CONFIG_MIPS_MT) += mips-mt.o
Ralf Baechle295cbf62007-07-03 14:37:43 +010050obj-$(CONFIG_MIPS_MT_FPAFF) += mips-mt-fpaff.o
Ralf Baechle41c594a2006-04-05 09:45:45 +010051obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010052obj-$(CONFIG_MIPS_CMP) += smp-cmp.o
Paul Burton0ee958e2014-01-15 10:31:53 +000053obj-$(CONFIG_MIPS_CPS) += smp-cps.o cps-vec.o
Paul Burton609cf6f2015-09-22 11:12:11 -070054obj-$(CONFIG_MIPS_CPS_NS16550) += cps-vec-ns16550.o
Markos Chandrasa7e07b12014-11-13 13:32:03 +000055obj-$(CONFIG_MIPS_SPRAM) += spram.o
Ralf Baechle340ee4b2005-08-17 17:44:08 +000056
Ralf Baechlee01402b2005-07-14 15:57:16 +000057obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o
Deng-Cheng Zhu17a1d522013-10-30 15:52:07 -050058obj-$(CONFIG_MIPS_VPE_LOADER_CMP) += vpe-cmp.o
Deng-Cheng Zhu1a2a6d72013-10-30 15:52:06 -050059obj-$(CONFIG_MIPS_VPE_LOADER_MT) += vpe-mt.o
Ralf Baechle70342282013-01-22 12:59:30 +010060obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o
Deng-Cheng Zhuda615cf2014-01-01 16:29:03 +010061obj-$(CONFIG_MIPS_VPE_APSP_API_CMP) += rtlx-cmp.o
Deng-Cheng Zhu2c973ef2014-01-01 16:26:46 +010062obj-$(CONFIG_MIPS_VPE_APSP_API_MT) += rtlx-mt.o
Ralf Baechlee01402b2005-07-14 15:57:16 +000063
Linus Torvalds1da177e2005-04-16 15:20:36 -070064obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o
Ralf Baechled5deda62008-07-15 18:44:34 +010065obj-$(CONFIG_MIPS_MSC) += irq-msc01.o
Atsushi Nemoto8420fd02007-08-02 23:35:53 +090066obj-$(CONFIG_IRQ_TXX9) += irq_txx9.o
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090067obj-$(CONFIG_IRQ_GT641XX) += irq-gt641xx.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070068
David Daneyc1bf2072010-08-03 11:22:20 -070069obj-$(CONFIG_KPROBES) += kprobes.o
Ralf Baechle875d43e2005-09-03 15:56:16 -070070obj-$(CONFIG_32BIT) += scall32-o32.o
71obj-$(CONFIG_64BIT) += scall64-64.o
Ralf Baechle38201fb2007-02-15 01:53:00 +000072obj-$(CONFIG_MIPS32_COMPAT) += linux32.o ptrace32.o signal32.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070073obj-$(CONFIG_MIPS32_N32) += binfmt_elfn32.o scall64-n32.o signal_n32.o
Harvey Huntd1e63c92016-06-17 16:03:45 +010074obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o signal_o32.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
Jason Wessel88547002008-07-29 15:58:53 -050076obj-$(CONFIG_KGDB) += kgdb.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070077obj-$(CONFIG_PROC_FS) += proc.o
James Hogand1e9a4f2015-05-19 09:50:29 +010078obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
Ralf Baechle875d43e2005-09-03 15:56:16 -070080obj-$(CONFIG_64BIT) += cpu-bugs64.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070081
Ralf Baechled865bea2007-10-11 23:46:10 +010082obj-$(CONFIG_I8253) += i8253.o
Michael Neulinge5c6c8e2006-03-14 00:11:50 -050083
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +090084obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o
85
Matt Redfearn279b9912016-03-31 10:05:36 +010086obj-$(CONFIG_RELOCATABLE) += relocate.o
87
Ralf Baechle7aa1c8f2012-10-11 18:14:58 +020088obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o
89obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
Ralf Baechle36a88532007-03-01 11:56:43 +000090obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
Yoichi Yuasa7cd93b82010-02-08 20:59:39 +090091obj-$(CONFIG_EARLY_PRINTK_8250) += early_printk_8250.o
David Daneybba90762010-02-16 15:26:35 -080092obj-$(CONFIG_SPINLOCK_TEST) += spinlock_test.o
Gabor Juhos487d70d2010-11-23 16:06:25 +010093obj-$(CONFIG_MIPS_MACHINE) += mips_machine.o
Leonid Yegoshinb0a668f2014-12-03 15:47:03 +000094obj-$(CONFIG_MIPSR2_TO_R6_EMULATOR) += mips-r2-to-r6-emul.o
Nicolas Schichan583bb862006-10-18 15:14:55 +020095
Jean Delvareb1e0d8b2012-10-02 16:42:36 +020096CFLAGS_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 +010097
98obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o
Ralf Baechledde96ca2007-07-30 11:48:58 +010099
David Daneye5dcb582011-09-24 02:29:55 +0200100obj-$(CONFIG_PERF_EVENTS) += perf_event.o
101obj-$(CONFIG_HW_PERF_EVENTS) += perf_event_mipsxx.o
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +0800102
David Daney94bb0c12010-12-28 13:26:23 -0800103obj-$(CONFIG_JUMP_LABEL) += jump_label.o
Ralf Baechle40e084a2015-07-29 22:44:53 +0200104obj-$(CONFIG_UPROBES) += uprobes.o
David Daney94bb0c12010-12-28 13:26:23 -0800105
Paul Burton9f98f3d2014-01-15 10:31:51 +0000106obj-$(CONFIG_MIPS_CM) += mips-cm.o
Paul Burton9c38cf42014-01-15 10:31:52 +0000107obj-$(CONFIG_MIPS_CPC) += mips-cpc.o
Paul Burton9f98f3d2014-01-15 10:31:51 +0000108
James Hoganb1d4c6c2014-03-04 10:11:39 +0000109obj-$(CONFIG_CPU_PM) += pm.o
Paul Burton3179d372014-04-14 11:00:56 +0100110obj-$(CONFIG_MIPS_CPS_PM) += pm-cps.o
James Hoganb1d4c6c2014-03-04 10:11:39 +0000111
Steven J. Hill32a7ede2013-01-03 19:01:52 +0000112#
Florian Fainelli63c2b682013-03-18 15:56:10 +0000113# DSP ASE supported for MIPS32 or MIPS64 Release 2 cores only. It is not
114# safe to unconditionnaly use the assembler -mdsp / -mdspr2 switches
115# here because the compiler may use DSP ASE instructions (such as lwx) in
116# code paths where we cannot check that the CPU we are running on supports it.
117# Proper abstraction using HAVE_AS_DSP and macros is done in
118# arch/mips/include/asm/mipsregs.h.
Steven J. Hill32a7ede2013-01-03 19:01:52 +0000119#
120ifeq ($(CONFIG_CPU_MIPSR2), y)
121CFLAGS_DSP = -DHAVE_AS_DSP
122
Steven J. Hill32a7ede2013-01-03 19:01:52 +0000123CFLAGS_signal.o = $(CFLAGS_DSP)
124CFLAGS_signal32.o = $(CFLAGS_DSP)
125CFLAGS_process.o = $(CFLAGS_DSP)
126CFLAGS_branch.o = $(CFLAGS_DSP)
127CFLAGS_ptrace.o = $(CFLAGS_DSP)
128endif
129
Ralf Baechlecf72e942009-12-17 01:57:36 +0000130CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)