Blame view

arch/arm/boot/Makefile 3.46 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
  #
  # arch/arm/boot/Makefile
  #
4f1933620   Paul Smith   kbuild: change kb...
4
5
6
  # This file is included by the global makefile so that you can add your own
  # architecture-specific flags and dependencies.
  #
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7
8
9
10
11
12
13
14
15
16
  # 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),)
9e84ed63d   Russell King   ARM: Partially re...
17
  include $(srctree)/$(MACHINE)/Makefile.boot
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
18
19
20
  endif
  
  # Note: the following conditions must always be true:
9e84ed63d   Russell King   ARM: Partially re...
21
  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
22
23
  #   PARAMS_PHYS must be within 4MB of ZRELADDR
  #   INITRD_PHYS must be in RAM
9e84ed63d   Russell King   ARM: Partially re...
24
  ZRELADDR    := $(zreladdr-y)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
25
26
  PARAMS_PHYS := $(params_phys-y)
  INITRD_PHYS := $(initrd_phys-y)
9e84ed63d   Russell King   ARM: Partially re...
27
  export ZRELADDR INITRD_PHYS PARAMS_PHYS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  
  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
7c4318513   Stephen Warren   Kbuild: Use dtc's...
60
  targets += $(dtb-y)
5fd1a2ed0   Rob Herring   arm/dt: Add dtb m...
61
  # Rule to build device tree blobs
7c4318513   Stephen Warren   Kbuild: Use dtc's...
62
63
  $(obj)/%.dtb: $(src)/dts/%.dts FORCE
  	$(call if_changed_dep,dtc)
5fd1a2ed0   Rob Herring   arm/dt: Add dtb m...
64
65
  
  $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
5f300acd8   Dirk B   ARM: 7152/1: dist...
66
  clean-files := *.dtb
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
67
68
  quiet_cmd_uimage = UIMAGE  $@
        cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
e2ed3be73   Catalin Marinas   Thumb-2: Make the...
69
  		   -C none -a $(LOADADDR) -e $(STARTADDR) \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
70
  		   -n 'Linux-$(KERNELRELEASE)' -d $< $@
0f9801463   Uwe Kleine-König   [ARM] 4854/1: fix...
71
72
73
  ifeq ($(CONFIG_ZBOOT_ROM),y)
  $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
  else
9e84ed63d   Russell King   ARM: Partially re...
74
  $(obj)/uImage: LOADADDR=$(ZRELADDR)
0f9801463   Uwe Kleine-König   [ARM] 4854/1: fix...
75
  endif
e2ed3be73   Catalin Marinas   Thumb-2: Make the...
76
  $(obj)/uImage: STARTADDR=$(LOADADDR)
e2ed3be73   Catalin Marinas   Thumb-2: Make the...
77

cd227fbff   Sascha Hauer   ARM: 7021/1: Chec...
78
79
80
81
82
83
84
  check_for_multiple_loadaddr = \
  if [ $(words $(LOADADDR)) -gt 1 ]; then \
  	echo 'multiple load addresses: $(LOADADDR)'; \
  	echo 'This is incompatible with uImages'; \
  	echo 'Specify LOADADDR on the commandline to build an uImage'; \
  	false; \
  fi
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
85
  $(obj)/uImage:	$(obj)/zImage FORCE
cd227fbff   Sascha Hauer   ARM: 7021/1: Chec...
86
  	@$(check_for_multiple_loadaddr)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
87
88
89
90
91
92
93
94
95
96
  	$(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'
4f1933620   Paul Smith   kbuild: change kb...
97
  PHONY += initrd FORCE
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
98
99
100
101
102
103
104
105
106
107
108
109
110
  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)"
a65d29225   Russell King   ARM: add 'uinstal...
111
112
113
  uinstall: $(obj)/uImage
  	$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \
  	$(obj)/uImage System.map "$(INSTALL_PATH)"
13d5fadf4   Russell King   [ARM] Make 'i' an...
114
115
116
117
118
119
120
  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)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
121
  subdir-	    := bootp compressed