📄 makefile_32
字号:
## i386 Makefile## 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.## 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 by Linus Torvalds## 19990713 Artur Skawina <skawina@geocities.com># Added '-march' and '-mpreferred-stack-boundary' support## 20050320 Kianusch Sayah Karadji <kianusch@sk-tech.net># Added support for GEODE CPU# BITS is used as extension for files which are available in a 32 bit# and a 64 bit version to simplify shared Makefiles.# e.g.: obj-y += foo_$(BITS).oBITS := 32export BITSHAS_BIARCH := $(call cc-option-yn, -m32)ifeq ($(HAS_BIARCH),y)AS := $(AS) --32LD := $(LD) -m elf_i386CC := $(CC) -m32endifLDFLAGS := -m elf_i386OBJCOPYFLAGS := -O binary -R .note -R .comment -Sifdef CONFIG_RELOCATABLELDFLAGS_vmlinux := --emit-relocsendifCHECKFLAGS += -D__i386__KBUILD_CFLAGS += -pipe -msoft-float -mregparm=3 -freg-struct-return# prevent gcc from keeping the stack 16 byte alignedKBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)# CPU-specific tuning. Anything which can be shared with UML should go here.include $(srctree)/arch/x86/Makefile_32.cpu# temporary until string.h is fixedcflags-y += -ffreestanding# this works around some issues with generating unwind tables in older gccs# newer gccs do it by defaultcflags-y += -maccumulate-outgoing-args# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use# a lot more stack due to the lack of sharing of stacklots:KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;)# do binutils support CFI?cflags-y += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)# is .cfi_signal_frame supported too?cflags-y += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)KBUILD_CFLAGS += $(cflags-y)# Default subarch .c filesmcore-y := arch/x86/mach-default# Voyager subarch supportmflags-$(CONFIG_X86_VOYAGER) := -Iinclude/asm-x86/mach-voyagermcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager# VISWS subarch supportmflags-$(CONFIG_X86_VISWS) := -Iinclude/asm-x86/mach-viswsmcore-$(CONFIG_X86_VISWS) := arch/x86/mach-visws# NUMAQ subarch supportmflags-$(CONFIG_X86_NUMAQ) := -Iinclude/asm-x86/mach-numaqmcore-$(CONFIG_X86_NUMAQ) := arch/x86/mach-default# BIGSMP subarch supportmflags-$(CONFIG_X86_BIGSMP) := -Iinclude/asm-x86/mach-bigsmpmcore-$(CONFIG_X86_BIGSMP) := arch/x86/mach-default#Summit subarch supportmflags-$(CONFIG_X86_SUMMIT) := -Iinclude/asm-x86/mach-summitmcore-$(CONFIG_X86_SUMMIT) := arch/x86/mach-default# generic subarchitecturemflags-$(CONFIG_X86_GENERICARCH) := -Iinclude/asm-x86/mach-genericmcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-defaultcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/# ES7000 subarch supportmflags-$(CONFIG_X86_ES7000) := -Iinclude/asm-x86/mach-es7000mcore-$(CONFIG_X86_ES7000) := arch/x86/mach-defaultcore-$(CONFIG_X86_ES7000) := arch/x86/mach-es7000/# Xen paravirtualization supportcore-$(CONFIG_XEN) += arch/x86/xen/# lguest paravirtualization supportcore-$(CONFIG_LGUEST_GUEST) += arch/x86/lguest/# default subarch .h filesmflags-y += -Iinclude/asm-x86/mach-defaulthead-y := arch/x86/kernel/head_32.o arch/x86/kernel/init_task.olibs-y += arch/x86/lib/core-y += arch/x86/kernel/ \ arch/x86/mm/ \ $(mcore-y)/ \ arch/x86/crypto/drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/drivers-$(CONFIG_PCI) += arch/x86/pci/# must be linked after kernel/drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/drivers-$(CONFIG_PM) += arch/x86/power/drivers-$(CONFIG_FB) += arch/x86/video/KBUILD_CFLAGS += $(mflags-y)KBUILD_AFLAGS += $(mflags-y)boot := arch/x86/bootPHONY += zImage bzImage compressed zlilo bzlilo \ zdisk bzdisk fdimage fdimage144 fdimage288 isoimage installall: bzImage# KBUILD_IMAGE specify target image being built KBUILD_IMAGE := $(boot)/bzImagezImage zlilo zdisk: KBUILD_IMAGE := arch/x86/boot/zImagezImage bzImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE) $(Q)mkdir -p $(objtree)/arch/i386/boot $(Q)ln -fsn ../../x86/boot/bzImage $(objtree)/arch/i386/boot/bzImagecompressed: zImagezlilo bzlilo: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zlilozdisk bzdisk: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zdiskfdimage fdimage144 fdimage288 isoimage: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@install: $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) installarchclean: $(Q)rm -rf $(objtree)/arch/i386/boot $(Q)$(MAKE) $(clean)=arch/x86/bootdefine archhelp echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)' echo ' install - Install kernel using' echo ' (your) ~/bin/installkernel or' echo ' (distribution) /sbin/installkernel or' echo ' install to $$(INSTALL_PATH) and run lilo' echo ' bzdisk - Create a boot floppy in /dev/fd0' echo ' fdimage - Create a boot floppy image' echo ' isoimage - Create a boot CD-ROM image'endefCLEAN_FILES += arch/x86/boot/fdimage \ arch/x86/boot/image.iso \ arch/x86/boot/mtools.conf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -