📄 makefile
字号:
## This file is subject to the terms and conditions of the GNU General Public# License. See the file "COPYING" in the main directory of this archive# for more details.## Copyright (C) 1994, 95, 96, 2003 by Ralf Baechle# DECStation modifications by Paul M. Antoine, 1996# Copyright (C) 2002, 2003 Maciej W. Rozycki## This file is included by the global makefile so that you can add your own# architecture-specific flags and dependencies. Remember to do have actions# for "archclean" cleaning up for this architecture.### Select the object file format to substitute into the linker script.#ifdef CONFIG_CPU_LITTLE_ENDIAN32bit-tool-prefix = mipsel-linux-64bit-tool-prefix = mips64el-linux-32bit-bfd = elf32-tradlittlemips64bit-bfd = elf64-tradlittlemipselse32bit-tool-prefix = mips-linux-64bit-tool-prefix = mips64-linux-32bit-bfd = elf32-tradbigmips64bit-bfd = elf64-tradbigmipsendififdef CONFIG_MIPS32gcc-abi = 32gas-abi = 32tool-prefix = $(32bit-tool-prefix)UTS_MACHINE := mipsendififdef CONFIG_MIPS64gcc-abi = 64gas-abi = 32tool-prefix = $(64bit-tool-prefix)UTS_MACHINE := mips64endififdef CONFIG_CROSSCOMPILECROSS_COMPILE := $(tool-prefix)endif## GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel# code since it only slows down the whole thing. At some point we might make# use of global pointer optimizations but their use of $28 conflicts with# the current pointer optimization.## The DECStation requires an ECOFF kernel for remote booting, other MIPS# machines may also. Since BFD is incredibly buggy with respect to# crossformat linking we rely on the elf2ecoff tool for format conversion.#cflags-y := -I $(TOPDIR)/include/asm/gcccflags-y += -G 0 -mno-abicalls -fno-pic -pipecflags-y += $(call cc-option, -finline-limit=100000)LDFLAGS_vmlinux += -G 0 -static -nMODFLAGS += -mlong-callscflags-$(CONFIG_SB1XXX_CORELIS) += -mno-sched-prolog -fno-omit-frame-pointer## Use: $(call set_gccflags,<cpu0>,<isa0>,<cpu1>,<isa1>,<isa2>)## <cpu0>,<isa0> -- preferred CPU and ISA designations (may require# recent tools)# <cpu1>,<isa1> -- fallback CPU and ISA designations (have to work# with up to the oldest supported tools)# <isa2> -- an ISA designation used as an ABI selector for# gcc versions that do not support "-mabi=32"# (depending on the CPU type, either "mips1" or# "mips2")#set_gccflags = $(shell \while :; do \ cpu=$(1); isa=-$(2); \ for gcc_opt in -march= -mcpu=; do \ $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ -xc /dev/null > /dev/null 2>&1 && \ break 2; \ done; \ cpu=$(3); isa=-$(4); \ for gcc_opt in -march= -mcpu=; do \ $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ -xc /dev/null > /dev/null 2>&1 && \ break 2; \ done; \ break; \done; \gcc_abi=-mabi=$(gcc-abi); gcc_cpu=$$cpu; \if $(CC) $$gcc_abi -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then \ gcc_isa=$$isa; \else \ gcc_abi=; gcc_isa=-$(5); \fi; \gas_abi=-Wa,-$(gcc-abi); gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \while :; do \ for gas_opt in -Wa,-march= -Wa,-mcpu=; do \ $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \ -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \ break 2; \ done; \ gas_abi=; gas_opt=; gas_cpu=; gas_isa=; \ break; \done; \if test "$(gcc-abi)" != "$(gas-abi)"; then \ gas_abi="-Wa,-$(gas-abi) -Wa,-mgp$(gcc-abi)"; \fi; \if test "$$gcc_opt" = -march= && test -n "$$gcc_abi"; then \ $(CC) $$gcc_abi $$gcc_opt$$gcc_cpu -S -o /dev/null \ -xc /dev/null > /dev/null 2>&1 && \ gcc_isa=; \fi; \echo $$gcc_abi $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_abi $$gas_opt$$gas_cpu $$gas_isa)## CPU-dependent compiler/assembler options for optimization.#cflags-$(CONFIG_CPU_R3000) += \ $(call set_gccflags,r3000,mips1,r3000,mips1,mips1)cflags-$(CONFIG_CPU_TX39XX) += \ $(call set_gccflags,r3900,mips1,r3000,mips1,mips1)cflags-$(CONFIG_CPU_R6000) += \ $(call set_gccflags,r6000,mips2,r6000,mips2,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_R4300) += \ $(call set_gccflags,r4300,mips3,r4300,mips3,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_VR41XX) += \ $(call set_gccflags,r4100,mips3,r4600,mips3,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_R4X00) += \ $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_MIPS32) += \ $(call set_gccflags,mips32,mips32,r4600,mips3,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_MIPS64) += \ $(call set_gccflags,mips64,mips64,r4600,mips3,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_R5000) += \ $(call set_gccflags,r5000,mips4,r5000,mips4,mips2) \ -Wa,--trap cflags-$(CONFIG_CPU_R5432) += \ $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_NEVADA) += \ $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \ -Wa,--trap# $(call cc-option,-mmad)cflags-$(CONFIG_CPU_RM7000) += \ $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_RM9000) += \ $(call set_gccflags,rm9000,mips4,r5000,mips4,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_SB1) += \ $(call set_gccflags,sb1,mips64,r5000,mips4,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_R8000) += \ $(call set_gccflags,r8000,mips4,r8000,mips4,mips2) \ -Wa,--trapcflags-$(CONFIG_CPU_R10000) += \ $(call set_gccflags,r10000,mips4,r8000,mips4,mips2) \ -Wa,--trapifdef CONFIG_CPU_SB1ifdef CONFIG_SB1_PASS_1_WORKAROUNDSMODFLAGS += -msb1-pass1-workaroundsendifendif## ramdisk/initrd support# You need a compressed ramdisk image, named# CONFIG_EMBEDDED_RAMDISK_IMAGE. Relative pathnames # are relative to arch/mips/ramdisk/.#core-$(CONFIG_EMBEDDED_RAMDISK) += arch/mips/ramdisk/## Firmware support#libs-$(CONFIG_ARC) += arch/mips/arc/libs-$(CONFIG_SIBYTE_CFE) += arch/mips/sibyte/cfe/## Board-dependent options and extra files### Acer PICA 61, Mips Magnum 4000 and Olivetti M700.#core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/cflags-$(CONFIG_MACH_JAZZ) += -Iinclude/asm-mips/mach-jazzload-$(CONFIG_MACH_JAZZ) += 0x80080000## Common Alchemy Au1x00 stuff#core-$(CONFIG_SOC_AU1X00) += arch/mips/au1000/common/cflags-$(CONFIG_SOC_AU1X00) += -Iinclude/asm-mips/mach-au1x00## AMD Alchemy Pb1000 eval board#libs-$(CONFIG_MIPS_PB1000) += arch/mips/au1000/pb1000/cflags-$(CONFIG_MIPS_PB1000) += -Iinclude/asm-mips/mach-pb1x00load-$(CONFIG_MIPS_PB1000) += 0x80100000## AMD Alchemy Pb1100 eval board#libs-$(CONFIG_MIPS_PB1100) += arch/mips/au1000/pb1100/cflags-$(CONFIG_MIPS_PB1100) += -Iinclude/asm-mips/mach-pb1x00load-$(CONFIG_MIPS_PB1100) += 0x80100000## AMD Alchemy Pb1500 eval board#libs-$(CONFIG_MIPS_PB1500) += arch/mips/au1000/pb1500/cflags-$(CONFIG_MIPS_PB1500) += -Iinclude/asm-mips/mach-pb1x00load-$(CONFIG_MIPS_PB1500) += 0x80100000## AMD Alchemy Pb1550 eval board#libs-$(CONFIG_MIPS_PB1550) += arch/mips/au1000/pb1550/cflags-$(CONFIG_MIPS_PB1550) += -Iinclude/asm-mips/mach-pb1x00load-$(CONFIG_MIPS_PB1550) += 0x80100000## AMD Alchemy Db1000 eval board#libs-$(CONFIG_MIPS_DB1000) += arch/mips/au1000/db1x00/cflags-$(CONFIG_MIPS_DB1000) += -Iinclude/asm-mips/mach-db1x00load-$(CONFIG_MIPS_DB1000) += 0x80100000## AMD Alchemy Db1100 eval board#libs-$(CONFIG_MIPS_DB1100) += arch/mips/au1000/db1x00/cflags-$(CONFIG_MIPS_DB1100) += -Iinclude/asm-mips/mach-db1x00load-$(CONFIG_MIPS_DB1100) += 0x80100000## AMD Alchemy Db1500 eval board#libs-$(CONFIG_MIPS_DB1500) += arch/mips/au1000/db1x00/cflags-$(CONFIG_MIPS_DB1500) += -Iinclude/asm-mips/mach-db1x00load-$(CONFIG_MIPS_DB1500) += 0x80100000## AMD Alchemy Bosporus eval board#libs-$(CONFIG_MIPS_BOSPORUS) += arch/mips/au1000/db1x00/cflags-$(CONFIG_MIPS_BOSPORUS) += -Iinclude/asm-mips/mach-db1x00load-$(CONFIG_MIPS_BOSPORUS) += 0x80100000## AMD Alchemy Mirage eval board#libs-$(CONFIG_MIPS_MIRAGE) += arch/mips/au1000/db1x00/cflags-$(CONFIG_MIPS_MIRAGE) += -Iinclude/asm-mips/mach-db1x00load-$(CONFIG_MIPS_MIRAGE) += 0x80100000## 4G-Systems eval board#libs-$(CONFIG_MIPS_MTX1) += arch/mips/au1000/mtx-1/load-$(CONFIG_MIPS_MTX1) += 0x80100000## MyCable eval board#libs-$(CONFIG_MIPS_XXS1500) += arch/mips/au1000/xxs1500/load-$(CONFIG_MIPS_XXS1500) += 0x80100000## Baget/MIPS#libs-$(CONFIG_BAGET_MIPS) += arch/mips/baget/ arch/mips/baget/prom/load-$(CONFIG_BAGET_MIPS) += 0x80001000## Cobalt Server#core-$(CONFIG_MIPS_COBALT) += arch/mips/cobalt/load-$(CONFIG_MIPS_COBALT) += 0x80080000## DECstation family#core-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/cflags-$(CONFIG_MACH_DECSTATION)+= -Iinclude/asm-mips/mach-declibs-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/prom/load-$(CONFIG_MACH_DECSTATION) += 0x80040000CLEAN_FILES += drivers/tc/lk201-map.c## Galileo EV64120 Board#core-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/ev64120/core-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/common/cflags-$(CONFIG_MIPS_EV64120) += -Iinclude/asm-mips/mach-ev64120load-$(CONFIG_MIPS_EV64120) += 0x80100000## Galileo EV96100 Board#core-$(CONFIG_MIPS_EV96100) += arch/mips/galileo-boards/ev96100/cflags-$(CONFIG_MIPS_EV96100) += -Iinclude/asm-mips/mach-ev96100load-$(CONFIG_MIPS_EV96100) += 0x80100000## Globespan IVR eval board with QED 5231 CPU#core-$(CONFIG_ITE_BOARD_GEN) += arch/mips/ite-boards/generic/core-$(CONFIG_MIPS_IVR) += arch/mips/ite-boards/ivr/load-$(CONFIG_MIPS_IVR) += 0x80100000## HP LaserJet#core-$(CONFIG_HP_LASERJET) += arch/mips/hp-lj/load-$(CONFIG_HP_LASERJET) += 0x80030000## ITE 8172 eval board with QED 5231 CPU#core-$(CONFIG_MIPS_ITE8172) += arch/mips/ite-boards/qed-4n-s01b/load-$(CONFIG_MIPS_ITE8172) += 0x80100000## For all MIPS, Inc. eval boards#core-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/## MIPS Atlas board#core-$(CONFIG_MIPS_ATLAS) += arch/mips/mips-boards/atlas/cflags-$(CONFIG_MIPS_ATLAS) += -Iinclude/asm-mips/mach-atlascflags-$(CONFIG_MIPS_ATLAS) += -Iinclude/asm-mips/mach-mipsload-$(CONFIG_MIPS_ATLAS) += 0x80100000## MIPS Malta board#core-$(CONFIG_MIPS_MALTA) += arch/mips/mips-boards/malta/cflags-$(CONFIG_MIPS_MALTA) += -Iinclude/asm-mips/mach-mipsload-$(CONFIG_MIPS_MALTA) += 0x80100000## MIPS SEAD board#core-$(CONFIG_MIPS_SEAD) += arch/mips/mips-boards/sead/load-$(CONFIG_MIPS_SEAD) += 0x80100000## Momentum Ocelot board## The Ocelot setup.o must be linked early - it does the ioremap() for the# mips_io_port_base.#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -