forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.0 KiB
118 lines
3.0 KiB
# |
|
# 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 |
|
# |
|
|
|
OBJCOPYFLAGS :=-O binary -R .comment -S |
|
|
|
ifneq ($(MACHINE),) |
|
include $(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) |
|
|
|
cmd_deflate_xip_data = $(CONFIG_SHELL) -c \ |
|
'$(srctree)/$(src)/deflate_xip_data.sh $< $@' |
|
|
|
ifeq ($(CONFIG_XIP_DEFLATED_DATA),y) |
|
quiet_cmd_mkxip = XIPZ $@ |
|
cmd_mkxip = $(cmd_objcopy) && $(cmd_deflate_xip_data) |
|
else |
|
quiet_cmd_mkxip = $(quiet_cmd_objcopy) |
|
cmd_mkxip = $(cmd_objcopy) |
|
endif |
|
|
|
$(obj)/xipImage: vmlinux FORCE |
|
$(call if_changed,mkxip) |
|
@$(kecho) ' Physical Address of xipImage: $(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) |
|
|
|
$(obj)/compressed/vmlinux: $(obj)/Image FORCE |
|
$(Q)$(MAKE) $(build)=$(obj)/compressed $@ |
|
|
|
$(obj)/zImage: $(obj)/compressed/vmlinux FORCE |
|
$(call if_changed,objcopy) |
|
|
|
endif |
|
|
|
ifneq ($(LOADADDR),) |
|
UIMAGE_LOADADDR=$(LOADADDR) |
|
else |
|
ifeq ($(CONFIG_ZBOOT_ROM),y) |
|
UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) |
|
else |
|
UIMAGE_LOADADDR=$(ZRELADDR) |
|
endif |
|
endif |
|
|
|
check_for_multiple_loadaddr = \ |
|
if [ $(words $(UIMAGE_LOADADDR)) -ne 1 ]; then \ |
|
echo 'multiple (or no) load addresses: $(UIMAGE_LOADADDR)'; \ |
|
echo 'This is incompatible with uImages'; \ |
|
echo 'Specify LOADADDR on the commandline to build an uImage'; \ |
|
false; \ |
|
fi |
|
|
|
$(obj)/uImage: $(obj)/zImage FORCE |
|
@$(check_for_multiple_loadaddr) |
|
$(call if_changed,uimage) |
|
|
|
$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE |
|
$(Q)$(MAKE) $(build)=$(obj)/bootp $@ |
|
|
|
$(obj)/bootpImage: $(obj)/bootp/bootp FORCE |
|
$(call if_changed,objcopy) |
|
|
|
PHONY += initrd install zinstall uinstall |
|
initrd: |
|
@test "$(INITRD_PHYS)" != "" || \ |
|
(echo This machine does not support INITRD; exit -1) |
|
@test "$(INITRD)" != "" || \ |
|
(echo You must specify INITRD; exit -1) |
|
|
|
install: |
|
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" \ |
|
$(obj)/Image System.map "$(INSTALL_PATH)" |
|
|
|
zinstall: |
|
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" \ |
|
$(obj)/zImage System.map "$(INSTALL_PATH)" |
|
|
|
uinstall: |
|
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" \ |
|
$(obj)/uImage System.map "$(INSTALL_PATH)" |
|
|
|
subdir- := bootp compressed dts
|
|
|