设为首页 加入收藏

TOP

Linux内核arch/arm/boot/Makefile阅读
2014-11-24 07:48:52 来源: 作者: 【 】 浏览:0
Tags:Linux 内核 arch/arm/boot/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.sh


ifneq ($(MACHINE),)


include $(srctree)/$(MACHINE)/Makefile.boot


endif


# 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 RAM


ZRELADDR := $(zreladdr-y)


PARAMS_PHYS := $(params_phys-y)


INITRD_PHYS := $(initrd_phys-y)


export ZRELADDR INITRD_PHYS PARAMS_PHYS


targets := 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'


@false


else


$(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'


endif


quiet_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)


endif


ifeq ($(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 FORCE


initrd:


@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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MPlayer在ARM2440开发板的移植 下一篇编译Busybox产生的两个错误

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·JAVA现在的就业环境 (2025-12-26 01:19:24)
·最好的java反编译工 (2025-12-26 01:19:21)
·预测一下2025年Java (2025-12-26 01:19:19)
·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)