📄 makefile
字号:
load-$(CONFIG_QEMU) += 0xffffffff80010000all-$(CONFIG_QEMU) := vmlinux.bin## Basler eXcite#core-$(CONFIG_BASLER_EXCITE) += arch/mips/basler/excite/cflags-$(CONFIG_BASLER_EXCITE) += -Iinclude/asm-mips/mach-exciteload-$(CONFIG_BASLER_EXCITE) += 0x80100000## LASAT platforms#core-$(CONFIG_LASAT) += arch/mips/lasat/cflags-$(CONFIG_LASAT) += -Iinclude/asm-mips/mach-lasatload-$(CONFIG_LASAT) += 0xffffffff80000000## Common VR41xx#core-$(CONFIG_MACH_VR41XX) += arch/mips/vr41xx/common/cflags-$(CONFIG_MACH_VR41XX) += -Iinclude/asm-mips/mach-vr41xx## NEC VR4133#core-$(CONFIG_NEC_CMBVR4133) += arch/mips/vr41xx/nec-cmbvr4133/load-$(CONFIG_NEC_CMBVR4133) += 0xffffffff80100000## ZAO Networks Capcella (VR4131)#load-$(CONFIG_ZAO_CAPCELLA) += 0xffffffff80000000## Victor MP-C303/304 (VR4122)#load-$(CONFIG_VICTOR_MPC30X) += 0xffffffff80001000## IBM WorkPad z50 (VR4121)#core-$(CONFIG_IBM_WORKPAD) += arch/mips/vr41xx/ibm-workpad/load-$(CONFIG_IBM_WORKPAD) += 0xffffffff80004000## CASIO CASSIPEIA E-55/65 (VR4111)#core-$(CONFIG_CASIO_E55) += arch/mips/vr41xx/casio-e55/load-$(CONFIG_CASIO_E55) += 0xffffffff80004000## TANBAC VR4131 multichip module(TB0225) and TANBAC VR4131DIMM(TB0229) (VR4131)#load-$(CONFIG_TANBAC_TB022X) += 0xffffffff80000000## Common Philips PNX8550#core-$(CONFIG_SOC_PNX8550) += arch/mips/philips/pnx8550/common/cflags-$(CONFIG_SOC_PNX8550) += -Iinclude/asm-mips/mach-pnx8550## Philips PNX8550 JBS board#libs-$(CONFIG_PNX8550_JBS) += arch/mips/philips/pnx8550/jbs/#cflags-$(CONFIG_PNX8550_JBS) += -Iinclude/asm-mips/mach-pnx8550load-$(CONFIG_PNX8550_JBS) += 0xffffffff80060000# Philips PNX8550 STB810 board#libs-$(CONFIG_PNX8550_STB810) += arch/mips/philips/pnx8550/stb810/load-$(CONFIG_PNX8550_STB810) += 0xffffffff80060000# NEC EMMA2RH boards#core-$(CONFIG_EMMA2RH) += arch/mips/emma2rh/common/cflags-$(CONFIG_EMMA2RH) += -Iinclude/asm-mips/mach-emma2rh# NEC EMMA2RH Mark-einscore-$(CONFIG_MARKEINS) += arch/mips/emma2rh/markeins/load-$(CONFIG_MARKEINS) += 0xffffffff88100000## SGI IP22 (Indy/Indigo2)## Set the load address to >= 0xffffffff88069000 if you want to leave space for# symmon, 0xffffffff80002000 for production kernels. Note that the value must# be aligned to a multiple of the kernel stack size or the handling of the# current variable will break so for 64-bit kernels we have to raise the start# address by 8kb.#core-$(CONFIG_SGI_IP22) += arch/mips/sgi-ip22/cflags-$(CONFIG_SGI_IP22) += -Iinclude/asm-mips/mach-ip22ifdef CONFIG_32BITload-$(CONFIG_SGI_IP22) += 0xffffffff88002000endififdef CONFIG_64BITload-$(CONFIG_SGI_IP22) += 0xffffffff88004000endif## SGI-IP27 (Origin200/2000)## Set the load address 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.#ifdef CONFIG_SGI_IP27core-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/cflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27ifdef CONFIG_MAPPED_KERNELload-$(CONFIG_SGI_IP27) += 0xc00000004001c000OBJCOPYFLAGS := --change-addresses=0x3fffffff80000000dataoffset-$(CONFIG_SGI_IP27) += 0x01000000elseload-$(CONFIG_SGI_IP27) += 0xa80000000001c000OBJCOPYFLAGS := --change-addresses=0x57ffffff80000000endifendif## SGI-IP32 (O2)## Set the load address to >= 80069000 if you want to leave space for symmon,# 0xffffffff80004000 for production kernels. Note that the value must be aligned to# a multiple of the kernel stack size or the handling of the current variable# will break.#core-$(CONFIG_SGI_IP32) += arch/mips/sgi-ip32/cflags-$(CONFIG_SGI_IP32) += -Iinclude/asm-mips/mach-ip32load-$(CONFIG_SGI_IP32) += 0xffffffff80004000## Sibyte SB1250/BCM1480 SOC## This is a LIB so that it links at the end, and initcalls are later# the sequence; but it is built as an object so that modules don't get# removed (as happens, even if they have __initcall/module_init)#core-$(CONFIG_SIBYTE_BCM112X) += arch/mips/sibyte/sb1250/core-$(CONFIG_SIBYTE_BCM112X) += arch/mips/sibyte/common/cflags-$(CONFIG_SIBYTE_BCM112X) += -Iinclude/asm-mips/mach-sibyte \ -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1250_112x_ALLcore-$(CONFIG_SIBYTE_SB1250) += arch/mips/sibyte/sb1250/core-$(CONFIG_SIBYTE_SB1250) += arch/mips/sibyte/common/cflags-$(CONFIG_SIBYTE_SB1250) += -Iinclude/asm-mips/mach-sibyte \ -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1250_112x_ALLcore-$(CONFIG_SIBYTE_BCM1x55) += arch/mips/sibyte/bcm1480/core-$(CONFIG_SIBYTE_BCM1x55) += arch/mips/sibyte/common/cflags-$(CONFIG_SIBYTE_BCM1x55) += -Iinclude/asm-mips/mach-sibyte \ -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1480_ALLcore-$(CONFIG_SIBYTE_BCM1x80) += arch/mips/sibyte/bcm1480/core-$(CONFIG_SIBYTE_BCM1x80) += arch/mips/sibyte/common/cflags-$(CONFIG_SIBYTE_BCM1x80) += -Iinclude/asm-mips/mach-sibyte \ -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1480_ALL## Sibyte BCM91120x (Carmel) board# Sibyte BCM91120C (CRhine) board# Sibyte BCM91125C (CRhone) board# Sibyte BCM91125E (Rhone) board# Sibyte SWARM board# Sibyte BCM91x80 (BigSur) board#libs-$(CONFIG_SIBYTE_CARMEL) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_CARMEL) := 0xffffffff80100000libs-$(CONFIG_SIBYTE_CRHINE) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_CRHINE) := 0xffffffff80100000libs-$(CONFIG_SIBYTE_CRHONE) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_CRHONE) := 0xffffffff80100000libs-$(CONFIG_SIBYTE_RHONE) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_RHONE) := 0xffffffff80100000libs-$(CONFIG_SIBYTE_SENTOSA) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_SENTOSA) := 0xffffffff80100000libs-$(CONFIG_SIBYTE_SWARM) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_SWARM) := 0xffffffff80100000libs-$(CONFIG_SIBYTE_BIGSUR) += arch/mips/sibyte/swarm/load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000## Broadcom BCM47XX boards#core-$(CONFIG_BCM47XX) += arch/mips/bcm47xx/cflags-$(CONFIG_BCM47XX) += -Iinclude/asm-mips/mach-bcm47xxload-$(CONFIG_BCM47XX) := 0xffffffff80001000## SNI RM#core-$(CONFIG_SNI_RM) += arch/mips/sni/cflags-$(CONFIG_SNI_RM) += -Iinclude/asm-mips/mach-rmload-$(CONFIG_SNI_RM) += 0xffffffff80600000all-$(CONFIG_SNI_RM) := vmlinux.ecoff## Toshiba JMR-TX3927 board#core-$(CONFIG_TOSHIBA_JMR3927) += arch/mips/jmr3927/rbhma3100/ \ arch/mips/jmr3927/common/cflags-$(CONFIG_TOSHIBA_JMR3927) += -Iinclude/asm-mips/mach-jmr3927load-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000## Toshiba RBTX4927 board or# Toshiba RBTX4937 board#core-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/toshiba_rbtx4927/core-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/common/cflags-$(CONFIG_TOSHIBA_RBTX4927) += -Iinclude/asm-mips/mach-tx49xxload-$(CONFIG_TOSHIBA_RBTX4927) += 0xffffffff80020000## Toshiba RBTX4938 board#core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/toshiba_rbtx4938/core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/common/cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xxload-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000cflags-y += -Iinclude/asm-mips/mach-genericdrivers-$(CONFIG_PCI) += arch/mips/pci/ifdef CONFIG_32BITifdef CONFIG_CPU_LITTLE_ENDIANJIFFIES = jiffies_64elseJIFFIES = jiffies_64 + 4endifelseJIFFIES = jiffies_64endif## Automatically detect the build format. By default we choose# the elf format according to the load address.# We can always force a build with a 64-bits symbol format by# passing 'KBUILD_SYM32=no' option to the make's command line.#ifdef CONFIG_64BIT ifndef KBUILD_SYM32 ifeq ($(shell expr $(load-y) \< 0xffffffff80000000), 0) KBUILD_SYM32 = y endif endif ifeq ($(KBUILD_SYM32), y) ifeq ($(call cc-option-yn,-msym32), y) cflags-y += -msym32 -DKBUILD_64BIT_SYM32 endif endifendifKBUILD_AFLAGS += $(cflags-y)KBUILD_CFLAGS += $(cflags-y) \ -D"VMLINUX_LOAD_ADDRESS=$(load-y)"LDFLAGS += -m $(ld-emul)ifdef CONFIG_MIPSCHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -xc /dev/null | \ egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ sed -e 's/^\#define /-D/' -e "s/ /='/" -e "s/$$/'/")ifdef CONFIG_64BITCHECKFLAGS += -m64endifendifOBJCOPYFLAGS += --remove-section=.reginfo## Choosing incompatible machines durings configuration will result in# error messages during linking. Select a default linkscript if# none has been choosen above.#CPPFLAGS_vmlinux.lds := \ $(KBUILD_CFLAGS) \ -D"LOADADDR=$(load-y)" \ -D"JIFFIES=$(JIFFIES)" \ -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)"head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.olibs-y += arch/mips/lib/core-y += arch/mips/kernel/ arch/mips/mm/ arch/mips/math-emu/drivers-$(CONFIG_OPROFILE) += arch/mips/oprofile/ifdef CONFIG_LASATrom.bin rom.sw: vmlinux $(Q)$(MAKE) $(build)=arch/mips/lasat/image $@endif## 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.#vmlinux.32: vmlinux $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@## The 64-bit ELF tools are pretty broken so at this time we generate 64-bit# ELF files from 32-bit files by conversion.#vmlinux.64: vmlinux $(OBJCOPY) -O $(64bit-bfd) $(OBJCOPYFLAGS) $< $@makeboot =$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) $(1)all: $(all-y)vmlinux.bin: $(vmlinux-32) +@$(call makeboot,$@)vmlinux.ecoff: $(vmlinux-32) +@$(call makeboot,$@)vmlinux.srec: $(vmlinux-32) +@$(call makeboot,$@)CLEAN_FILES += vmlinux.ecoff \ vmlinux.srecarchprepare:ifdef CONFIG_MIPS32_N32 @echo ' Checking missing-syscalls for N32' $(Q)$(MAKE) $(build)=. missing-syscalls EXTRA_CFLAGS="-mabi=n32"endififdef CONFIG_MIPS32_O32 @echo ' Checking missing-syscalls for O32' $(Q)$(MAKE) $(build)=. missing-syscalls EXTRA_CFLAGS="-mabi=32"endifarchclean: @$(MAKE) $(clean)=arch/mips/boot @$(MAKE) $(clean)=arch/mips/lasatdefine archhelp echo ' vmlinux.ecoff - ECOFF boot image' echo ' vmlinux.bin - Raw binary boot image' echo ' vmlinux.srec - SREC boot image' echo echo ' These will be default as apropriate for a configured platform.'endefCLEAN_FILES += vmlinux.32 \ vmlinux.64 \ vmlinux.ecoff
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -