1 # 1 # 2 # arch/arm/boot/Makefile << 3 # << 4 # This file is included by the global makefile << 5 # architecture-specific flags and dependencies << 6 # << 7 # This file is subject to the terms and condit 2 # This file is subject to the terms and conditions of the GNU General Public 8 # License. See the file "COPYING" in the main 3 # License. See the file "COPYING" in the main directory of this archive 9 # for more details. 4 # for more details. 10 # 5 # 11 # Copyright (C) 1995-2002 Russell King !! 6 # Copyright (C) 1995, 1998, 2001 by Ralf Baechle >> 7 # Copyright (C) 2004 Maciej W. Rozycki 12 # 8 # 13 OBJCOPYFLAGS :=-O binary -R .comment -S << 14 << 15 # ZRELADDR == virt_to_phys(PAGE_OFFSET + TEX << 16 ifdef CONFIG_PHYS_OFFSET << 17 add_hex = $(shell printf 0x%x $$(( $(1) + $(2) << 18 ZRELADDR := $(call add_hex, $(CONFIG_PHYS_O << 19 endif << 20 9 21 PHYS_OFFSET := $(CONFIG_PHYS_OFFSET) !! 10 USE_STANDARD_AS_RULE := true 22 export ZRELADDR PARAMS_PHYS PHYS_OFFSET << 23 11 24 targets := Image zImage xipImage bootpImage uI !! 12 # 25 !! 13 # Some DECstations need all possible sections of an ECOFF executable 26 ifeq ($(CONFIG_XIP_KERNEL),y) !! 14 # 27 !! 15 ifdef CONFIG_DECSTATION 28 cmd_deflate_xip_data = $(CONFIG_SHELL) -c '$(s !! 16 E2EFLAGS = -a 29 << 30 ifeq ($(CONFIG_XIP_DEFLATED_DATA),y) << 31 quiet_cmd_mkxip = XIPZ $@ << 32 cmd_mkxip = $(cmd_objcopy) && $(cmd_deflate_xi << 33 else 17 else 34 quiet_cmd_mkxip = $(quiet_cmd_objcopy) !! 18 E2EFLAGS = 35 cmd_mkxip = $(cmd_objcopy) << 36 endif 19 endif 37 20 38 $(obj)/xipImage: vmlinux FORCE !! 21 # 39 $(call if_changed,mkxip) !! 22 # Drop some uninteresting sections in the kernel. 40 @$(kecho) ' Physical Address of xipIm !! 23 # This is only relevant for ELF kernels but doesn't hurt a.out 41 !! 24 # 42 $(obj)/Image $(obj)/zImage: FORCE !! 25 drop-sections = .reginfo .mdebug .comment .note .pdr .options .MIPS.options 43 @echo 'Kernel configured for XIP (CONF !! 26 strip-flags = $(addprefix --remove-section=,$(drop-sections)) 44 @echo 'Only the xipImage target is ava << 45 @false << 46 27 47 else !! 28 VMLINUX = $(TOPDIR)/vmlinux 48 29 49 $(obj)/xipImage: FORCE !! 30 all: 50 @echo 'Kernel not configured for XIP ( << 51 @false << 52 31 53 $(obj)/Image: vmlinux FORCE !! 32 boot: vmlinux.ecoff vmlinux.srec addinitrd 54 $(call if_changed,objcopy) << 55 33 56 $(obj)/compressed/vmlinux: $(obj)/Image FORCE !! 34 vmlinux.ecoff: $(CONFIGURE) elf2ecoff $(VMLINUX) 57 $(Q)$(MAKE) $(build)=$(obj)/compressed !! 35 ./elf2ecoff $(VMLINUX) vmlinux.ecoff $(E2EFLAGS) 58 36 59 $(obj)/zImage: $(obj)/compressed/vmlinux FORC !! 37 elf2ecoff: elf2ecoff.c 60 $(call if_changed,objcopy) !! 38 $(HOSTCC) -o $@ $^ 61 39 62 endif !! 40 vmlinux.srec: $(CONFIGURE) $(VMLINUX) >> 41 $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) vmlinux.srec 63 42 64 ifneq ($(LOADADDR),) !! 43 addinitrd: addinitrd.c 65 UIMAGE_LOADADDR=$(LOADADDR) !! 44 $(HOSTCC) -o $@ $^ 66 else !! 45 67 ifeq ($(CONFIG_ZBOOT_ROM),y) !! 46 # Don't build dependencies, this may die if $(CC) isn't gcc 68 UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) !! 47 dep: 69 else << 70 UIMAGE_LOADADDR=$(ZRELADDR) << 71 endif << 72 endif << 73 48 74 check_for_multiple_loadaddr = \ !! 49 clean: 75 if [ $(words $(UIMAGE_LOADADDR)) -ne 1 ]; then !! 50 rm -f vmlinux.ecoff vmlinux.srec 76 echo 'multiple (or no) load addresses: << 77 echo 'This is incompatible with uImage << 78 echo 'Specify LOADADDR on the commandl << 79 false; \ << 80 fi << 81 << 82 $(obj)/uImage: $(obj)/zImage FORCE << 83 @$(check_for_multiple_loadaddr) << 84 $(call if_changed,uimage) << 85 51 86 $(obj)/bootp/bootp: $(obj)/zImage FORCE !! 52 mrproper: 87 $(Q)$(MAKE) $(build)=$(obj)/bootp $@ !! 53 rm -f vmlinux.ecoff vmlinux.srec addinitrd elf2ecoff 88 54 89 $(obj)/bootpImage: $(obj)/bootp/bootp FORCE !! 55 dummy: 90 $(call if_changed,objcopy) << 91 56 92 subdir- := bootp compressed dts !! 57 include $(TOPDIR)/Rules.make
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.