📄 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, 1995, 1996 by Ralf Baechle# DECStation modifications by Paul M. Antoine, 1996## 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" and "archdep" for cleaning up and making dependencies for# this architecture### Select the object file format to substitute into the linker script.#ifdef CONFIG_CPU_LITTLE_ENDIANtool-prefix = mipsel-linux-elsetool-prefix = mips-linux-endififdef CONFIG_CROSSCOMPILECROSS_COMPILE = $(tool-prefix)endif## GCC uses -G0 -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.#GCCFLAGS := -G 0 -mno-abicalls -fno-picLINKFLAGS += -staticMODFLAGS += -mlong-callsLD := $(LD) -G 0ifdef CONFIG_REMOTE_DEBUGCFLAGS := $(CFLAGS) -gendif## CPU-dependent compiler/assembler options for optimization.#ifdef CONFIG_CPU_R3000GCCFLAGS += -mcpu=r3000 -mips1endififdef CONFIG_CPU_R6000GCCFLAGS += -mcpu=r6000 -mips2 -Wa,--trapendififdef CONFIG_CPU_R4300GCCFLAGS += -mcpu=r4300 -mips2 -Wa,--trapendififdef CONFIG_CPU_VR41XXGCCFLAGS += -mcpu=r4600 -mips2 -Wa,--trapendififdef CONFIG_CPU_R4X00GCCFLAGS += -mcpu=r4600 -mips2 -Wa,--trapendififdef CONFIG_CPU_MIPS32GCCFLAGS += -mcpu=r4600 -mips2 -Wa,--trapendififdef CONFIG_CPU_MIPS64GCCFLAGS += -mcpu=r4600 -mips2 -Wa,--trapendififdef CONFIG_CPU_R5000GCCFLAGS += -mcpu=r5000 -mips2 -Wa,--trapendififdef CONFIG_CPU_R5432GCCFLAGS += -mcpu=r5000 -mips2 -Wa,--trapendififdef CONFIG_CPU_NEVADA# Cannot use -mmad with currently recommended toolsGCCFLAGS += -mcpu=r5000 -mips2 -Wa,--trapendififdef CONFIG_CPU_RM7000GCCFLAGS += -mcpu=r5000 -mips2 -Wa,--trapendififdef CONFIG_CPU_SB1GCCFLAGS += -mcpu=sb1 -mips2 -Wa,--trapendifGCCFLAGS += -pipeCFLAGS := -I $(TOPDIR)/include/asm/gcc $(CFLAGS) $(GCCFLAGS)AFLAGS += $(GCCFLAGS)ASFLAGS += $(GCCFLAGS)## We unconditionally build the math emulator#CORE_FILES +=arch/mips/math-emu/fpu_emulator.oSUBDIRS +=arch/mips/math-emu## Board-dependent options and extra files#ifdef CONFIG_ALGOR_P4032CORE_FILES += arch/mips/algor/algor.oSUBDIRS += arch/mips/algorLOADADDR += 0x80000000endif## DECstation family#ifdef CONFIG_DECSTATIONCORE_FILES += arch/mips/dec/dec.oSUBDIRS += arch/mips/dec arch/mips/dec/promLIBS += arch/mips/dec/prom/rexlib.aLOADADDR += 0x80040000endififdef CONFIG_MIPS_ATLASLIBS += arch/mips/mips-boards/atlas/atlas.o arch/mips/mips-boards/generic/mipsboards.oSUBDIRS += arch/mips/mips-boards/generic arch/mips/mips-boards/atlasLOADADDR += 0x80100000endififdef CONFIG_MIPS_MALTALIBS += arch/mips/mips-boards/malta/malta.o arch/mips/mips-boards/generic/mipsboards.oSUBDIRS += arch/mips/mips-boards/malta arch/mips/mips-boards/genericLOADADDR += 0x80100000endif## Acer PICA 61, Mips Magnum 4000 and Olivetti M700.#ifdef CONFIG_MIPS_JAZZCORE_FILES += arch/mips/jazz/jazz.oSUBDIRS += arch/mips/jazz arch/mips/arcLIBS += arch/mips/arc/arclib.aLOADADDR += 0x80080000endififdef CONFIG_SNI_RM200_PCICORE_FILES += arch/mips/sni/sni.oSUBDIRS += arch/mips/sni arch/mips/arcLIBS += arch/mips/arc/arclib.aLOADADDR += 0x80080000endififdef CONFIG_SGI_IP22CORE_FILES += arch/mips/sgi/kernel/ip22-kern.oLIBS += arch/mips/arc/arclib.aSUBDIRS += arch/mips/sgi/kernel arch/mips/arc## Set LOADADDR to >= 0x88069000 if you want to leave space for symmon,# 0x88002000 for production kernels. Note that the value must be# 8kb aligned or the handling of the current variable will break.#LOADADDR += 0x88002000endif## Baget/MIPS#ifdef CONFIG_BAGET_MIPSSUBDIRS += arch/mips/baget arch/mips/baget/promLIBS += arch/mips/baget/baget.a arch/mips/baget/prom/bagetlib.aLOADADDR += 0x80001000endif## NEC DDB Vrc-5074#ifdef CONFIG_DDB5074SUBDIRS += arch/mips/ddb5074LIBS += arch/mips/ddb5074/ddb5074.aLOADADDR += 0x80080000endif### NEC DDB Vrc-5476#ifdef CONFIG_DDB5476SUBDIRS += arch/mips/ddb5476LIBS += arch/mips/ddb5476/ddb5476.aLOADADDR += 0x80080000endif### NEC DDB Vrc-5477#ifdef CONFIG_DDB5477SUBDIRS += arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5477LIBS += arch/mips/ddb5xxx/common/ddb5xxx.o \ arch/mips/ddb5xxx/ddb5477/ddb5477.oLOADADDR += 0x80080000endif## Galileo EV64120 Board#ifdef CONFIG_MIPS_EV64120LIBS += arch/mips/galileo-boards/ev64120/ev64120.oSUBDIRS += arch/mips/galileo-boards/ev64120LOADADDR += 0x80100000endif## Galileo EV96100 Board#ifdef CONFIG_MIPS_EV96100LIBS += arch/mips/galileo-boards/ev96100/ev96100.o arch/mips/galileo-boards/generic/galboards.oSUBDIRS += arch/mips/galileo-boards/generic arch/mips/galileo-boards/ev96100LOADADDR += 0x80100000endif## Momentum Ocelot board#ifdef CONFIG_MOMENCO_OCELOT# The Ocelot setup.o must be linked early - it does the ioremap() for the# mips_io_port_base.CORE_FILES += arch/mips/gt64120/common/gt64120.o arch/mips/gt64120/momenco_ocelot/momenco_ocelot.oSUBDIRS += arch/mips/gt64120/common arch/mips/gt64120/momenco_ocelotLOADADDR += 0x80100000endif## Philips Nino#ifdef CONFIG_NINOCORE_FILES += arch/mips/philips/nino/nino.oSUBDIRS += arch/mips/philips/ninoLOADADDR += 0x80000000endif## ITE 8172 eval board with QED 5231 CPU#ifdef CONFIG_MIPS_ITE8172LIBS += arch/mips/ite-boards/qed-4n-s01b/ite.o arch/mips/ite-boards/generic/it8172.oSUBDIRS += arch/mips/ite-boards/generic arch/mips/ite-boards/qed-4n-s01bLOADADDR += 0x80100000endif## Globespan IVR eval board with QED 5231 CPU#ifdef CONFIG_MIPS_IVRLIBS += arch/mips/ite-boards/ivr/ivr.o arch/mips/ite-boards/generic/it8172.oSUBDIRS += arch/mips/ite-boards/generic arch/mips/ite-boards/ivrLOADADDR += 0x80100000endif## Au1000 eval board#ifdef CONFIG_MIPS_PB1000LIBS += arch/mips/au1000/pb1000/pb1000.o arch/mips/au1000/common/au1000.oSUBDIRS += arch/mips/au1000/pb1000 arch/mips/au1000/commonLOADADDR += 0x80100000endif## Choosing incompatible machines durings configuration will result in# error messages during linking. Select a default linkscript if# none has been choosen above.#vmlinux: arch/$(ARCH)/ld.scriptarch/$(ARCH)/ld.script: arch/$(ARCH)/ld.script.in arch/$(ARCH)/Makefile sed -e 's/@@LOADADDR@@/$(LOADADDR)/' <$< >$@LINKFLAGS += -T arch/$(ARCH)/ld.scriptHEAD := arch/mips/kernel/head.o arch/mips/kernel/init_task.oSUBDIRS := $(addprefix arch/mips/, tools) $(SUBDIRS) $(addprefix arch/mips/, kernel mm lib)CORE_FILES := arch/mips/kernel/kernel.o arch/mips/mm/mm.o $(CORE_FILES)LIBS := arch/mips/lib/lib.a $(LIBS)ifdef CONFIG_BAGET_MIPSBAGETBOOT = $(MAKE) -C arch/$(ARCH)/bagetbalo: vmlinux $(BAGETBOOT) baloendififdef CONFIG_MIPS_EV64120GALILEOBOOT = $(MAKE) -C arch/$(ARCH)/galileo-boards/ev64120gboot: vmlinux $(MAKE) -C arch/$(ARCH)/galileo-boards/ev64120/compressed endifMAKEBOOT = $(MAKE) -C arch/$(ARCH)/bootvmlinux.ecoff: vmlinux @$(MAKEBOOT) $@archclean: @$(MAKEBOOT) clean rm -f arch/$(ARCH)/ld.script $(MAKE) -C arch/$(ARCH)/tools clean $(MAKE) -C arch/mips/baget cleanarchmrproper: @$(MAKEBOOT) mrproper $(MAKE) -C arch/$(ARCH)/tools mrproperarchdep: if [ ! -f $(TOPDIR)/include/asm-$(ARCH)/offset.h ]; then \ touch $(TOPDIR)/include/asm-$(ARCH)/offset.h; \ fi; @$(MAKEBOOT) dep
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -