Welcome 微信登录

首页 / 操作系统 / Linux / Linux内核arch/arm/boot/Makefile阅读

root@Ubuntu:/usr/src/linux-headers-2.6.32-26/arch/arm/boot# cat Makefile## arch/arm/boot/Makefile## This file is included by the global makefile so that you can add your own# architecture-specific flags and dependencies.## 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) 1995-2002 Russell King#MKIMAGE         := $(srctree)/scripts/mkuboot.shifneq ($(MACHINE),)include $(srctree)/$(MACHINE)/Makefile.bootendif# Note: the following conditions must always be true:#   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)#   PARAMS_PHYS must be within 4MB of ZRELADDR#   INITRD_PHYS must be in RAMZRELADDR    := $(zreladdr-y)PARAMS_PHYS := $(params_phys-y)INITRD_PHYS := $(initrd_phys-y)export ZRELADDR INITRD_PHYS PARAMS_PHYStargets := Image zImage xipImage bootpImage uImage  #规则的目标,好几个啊。ifeq ($(CONFIG_XIP_KERNEL),y)$(obj)/xipImage: vmlinux FORCE$(call if_changed,objcopy)@echo "  Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))"$(obj)/Image $(obj)/zImage: FORCE@echo "Kernel configured for XIP (CONFIG_XIP_KERNEL=y)"@echo "Only the xipImage target is available in this case"@falseelse$(obj)/xipImage: FORCE@echo "Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)"@false$(obj)/Image: vmlinux FORCE$(call if_changed,objcopy)@echo "  Kernel: $@ is ready"$(obj)/compressed/vmlinux: $(obj)/Image FORCE$(Q)$(MAKE) $(build)=$(obj)/compressed $@$(obj)/zImage: $(obj)/compressed/vmlinux FORCE$(call if_changed,objcopy)@echo "  Kernel: $@ is ready"endifquiet_cmd_uimage = UIMAGE  $@      cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel   -C none -a $(LOADADDR) -e $(STARTADDR)   -n "Linux-$(KERNELRELEASE)" -d $< $@ifeq ($(CONFIG_ZBOOT_ROM),y)$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)else$(obj)/uImage: LOADADDR=$(ZRELADDR)endififeq ($(CONFIG_THUMB2_KERNEL),y)# Set bit 0 to 1 so that "mov pc, rx" switches to Thumb-2 mode$(obj)/uImage: STARTADDR=$(shell echo $(LOADADDR) | sed -e "s/.$$/1/")else$(obj)/uImage: STARTADDR=$(LOADADDR)endif$(obj)/uImage: $(obj)/zImage FORCE$(call if_changed,uimage)@echo "  Image $@ is ready"$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE$(Q)$(MAKE) $(build)=$(obj)/bootp $@@:$(obj)/bootpImage: $(obj)/bootp/bootp FORCE$(call if_changed,objcopy)@echo "  Kernel: $@ is ready"PHONY += initrd FORCEinitrd:@test "$(INITRD_PHYS)" != "" || (echo This machine does not support INITRD; exit -1)@test "$(INITRD)" != "" || (echo You must specify INITRD; exit -1)install: $(obj)/Image$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/Image System.map "$(INSTALL_PATH)"zinstall: $(obj)/zImage$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/zImage System.map "$(INSTALL_PATH)"zi:$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/zImage System.map "$(INSTALL_PATH)"i:$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/Image System.map "$(INSTALL_PATH)"subdir-    := bootp compressed