⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻
字号:
## 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.## 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.#CPP=$(CC) -Eifdef CONFIG_CPU_LITTLE_ENDIANtool-prefix	= mips64el-linux-elsetool-prefix	= mips64-linux-endififdef CONFIG_CROSSCOMPILECROSS_COMPILE  = $(tool-prefix)endif## The ELF GCC uses -G0 -mabicalls -fpic as default.  We don't need PIC# code in the kernel since it only slows down the whole thing.  For the# old GCC these options are just the defaults.  At some point we might# make use of global pointer optimizations.## 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		+= -I $(TOPDIR)/include/asm $(CFLAGS)CFLAGS		+= -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipeLINKFLAGS	+= -G 0 -static # -NMODFLAGS	+= -mlong-callsifdef CONFIG_REMOTE_DEBUGCFLAGS		:= $(CFLAGS) -gendif## CPU-dependent compiler/assembler options for optimization.#ifdef CONFIG_CPU_R4300CFLAGS		:= $(CFLAGS) -mcpu=r4300 -mips3endififdef CONFIG_CPU_R4X00CFLAGS		:= $(CFLAGS) -mcpu=r4600 -mips3endififdef CONFIG_CPU_R5000CFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips4endififdef CONFIG_CPU_NEVADACFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips3 -mmadendififdef CONFIG_CPU_R8000CFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips4endififdef CONFIG_CPU_R10000CFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips4endif## Board-dependent options and extra files#ifdef CONFIG_SGI_IP22LIBS          += arch/mips64/sgi-ip22/ip22.a arch/mips64/arc/arclib.aSUBDIRS       += arch/mips64/sgi-ip22 arch/mips64/arc## Set LOADADDR to >= 0x88069000 if you want to leave space for symmon,# 0x88004000 for production kernels.  Note that the value must be# 16kb aligned or the handling of the current variable will break.#LOADADDR      += 0x88004000endififdef CONFIG_SGI_IP27LIBS          += arch/mips64/sgi-ip27/ip27.a arch/mips64/arc/arclib.aSUBDIRS       += arch/mips64/sgi-ip27 arch/mips64/arc## Set LOADADDR to >= 0xc000000000300000 if you want to leave space for# symmon, 0xc00000000001c000 for production kernels.  Note that the value# must be 16kb aligned or the handling of the current variable will break.##LOADADDR      += 0xa80000000001c000ifdef CONFIG_MAPPED_KERNELLOADADDR      += 0xc001c000elseLOADADDR      += 0x8001c000endifendif## Some machines like the Indy need 32-bit ELF binaries for booting purposes.# Other need ECOFF, so we build a 32-bit ELF binary for them which we then# convert to ECOFF using elf2ecoff.#ifdef CONFIG_BOOT_ELF32CFLAGS += -Wa,-32LINKFLAGS += -T arch/mips64/ld.script.elf32endif## The 64-bit ELF tools are pretty broken so at this time we generate 64-bit# ELF files from 32-bit files by conversion.#ifdef CONFIG_BOOT_ELF64CFLAGS += -Wa,-32LINKFLAGS += -T arch/mips64/ld.script.elf32#AS += -64#LD += -m elf64bmip#LINKFLAGS += -T arch/mips64/ld.script.elf64endifLINKFLAGS += -Ttext $(LOADADDR)HEAD := arch/mips64/kernel/head.o arch/mips64/kernel/init_task.oSUBDIRS := $(addprefix arch/mips64/, tools) $(SUBDIRS) $(addprefix arch/mips64/, kernel mm lib)CORE_FILES := arch/mips64/kernel/kernel.o arch/mips64/mm/mm.o $(CORE_FILES)LIBS := arch/mips64/lib/lib.a $(LIBS)MAKEBOOT = $(MAKE) -C arch/$(ARCH)/bootifdef CONFIG_CPU_LITTLE_ENDIAN64bit-bfd = elf64-littlemipselse64bit-bfd = elf64-bigmipsendifvmlinux: arch/mips64/ld.script.elf32arch/mips64/ld.script.elf32: arch/mips64/ld.script.elf32.S	$(CPP) -C -P -I$(HPATH) -imacros $(HPATH)/asm-mips64/sn/mapped_kernel.h -Umips arch/mips64/ld.script.elf32.S > arch/mips64/ld.script.elf32ifdef CONFIG_MAPPED_KERNELvmlinux.64: vmlinux	$(OBJCOPY) -O $(64bit-bfd) --change-addresses=0xbfffffff40000000 $< $@elsevmlinux.64: vmlinux	$(OBJCOPY) -O $(64bit-bfd) --change-addresses=0xa7ffffff80000000 $< $@endifzImage: vmlinux	@$(MAKEBOOT) zImagecompressed: zImagezdisk: vmlinux	@$(MAKEBOOT) zdiskarchclean:	@$(MAKEBOOT) clean	$(MAKE) -C arch/$(ARCH)/kernel clean	$(MAKE) -C arch/$(ARCH)/tools clean	rm -f vmlinux.64 arch/$(ARCH)/ld.script.elf32archmrproper:	@$(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 + -