Blame view

arch/powerpc/boot/Makefile 16.2 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
  # Makefile for making ELF bootable images for booting on CHRP
  # using Open Firmware.
  #
  # Geert Uytterhoeven	September 1997
  #
  # Based on coffboot by Paul Mackerras
  # Simplified for ppc64 by Todd Inglett
  #
  # NOTE:	this code is built for 32 bit in ELF32 format even though
  #	it packages a 64 bit kernel.  We do this to simplify the
  #	bootloader and increase compatibility with OpenFirmware.
  #
  #	To this end we need to define BOOTCC, etc, as the tools
b610b9780   David Gibson   [POWERPC] Don't u...
14
15
  #	needed to build the 32 bit image.  That's normally the same
  #	compiler for the rest of the kernel, with the -m32 flag added.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
16
17
18
  #	To make it easier to setup a cross compiler,
  #	CROSS32_COMPILE is setup as a prefix just like CROSS_COMPILE
  #	in the toplevel makefile.
2bf118197   Paul Mackerras   [POWERPC] Create ...
19
  all: $(obj)/zImage
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20

b610b9780   David Gibson   [POWERPC] Don't u...
21
  BOOTCFLAGS    := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
6846ee5ca   Benjamin Herrenschmidt   zlib: Fix build o...
22
  		 -fno-strict-aliasing -Os -msoft-float -pipe \
b610b9780   David Gibson   [POWERPC] Don't u...
23
24
  		 -fomit-frame-pointer -fno-builtin -fPIC -nostdinc \
  		 -isystem $(shell $(CROSS32CC) -print-file-name=include)
decd300b3   Olaf Hering   [PATCH] ppc64: ma...
25
  BOOTAFLAGS	:= -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc
2bf118197   Paul Mackerras   [POWERPC] Create ...
26

105c13dd7   Grant Likely   [POWERPC] Enable ...
27
28
29
  ifdef CONFIG_DEBUG_INFO
  BOOTCFLAGS	+= -g
  endif
2bf118197   Paul Mackerras   [POWERPC] Create ...
30
31
32
  ifeq ($(call cc-option-yn, -fstack-protector),y)
  BOOTCFLAGS	+= -fno-stack-protector
  endif
9fffb55f6   David Gibson   Move dtc and libf...
33
  BOOTCFLAGS	+= -I$(obj) -I$(srctree)/$(obj)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
34

638493406   Dirk Brandewie   of/powerpc: Use g...
35
  DTC_FLAGS	?= -p 1024
9d4ae9fc9   Kumar Gala   powerpc/bootwrapp...
36

bf2e70ac6   Josh Boyer   [POWERPC] Fix boo...
37
38
  $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
  $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
0cdf50a7c   Solomon Peachy   powerpc/40x: Add ...
39
  $(obj)/cuboot-hotfoot.o: BOOTCFLAGS += -mcpu=405
bf2e70ac6   Josh Boyer   [POWERPC] Fix boo...
40
41
  $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
9f3eefc4f   Josh Boyer   powerpc/40x: Add ...
42
  $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
2e71cc0d5   Josh Boyer   [POWERPC] 4xx: Fi...
43
  $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
b4e8c8dd8   Torez Smith   powerpc/4xx: Simp...
44
  $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
228d55053   Tony Breeds   powerpc/47x: Add ...
45
  $(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
b9e4f1766   Grant Likely   [POWERPC] bootwra...
46
  $(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405
60e417536   Josh Boyer   [POWERPC] Pass pe...
47

6bbc54762   Hugh Blemings   [POWERPC] 4xx: Ba...
48

4f3865fb5   Richard Purdie   [PATCH] zlib_infl...
49
50
  zlib       := inffast.c inflate.c inftrees.c
  zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
51
  zliblinuxheader := zlib.h zconf.h zutil.h
4ff23fa93   Hugh Dickins   powerpc: Fix rare...
52
  $(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \
d25a9d66e   David Gibson   [POWERPC] Fix som...
53
  	$(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
2bf118197   Paul Mackerras   [POWERPC] Create ...
54

9fffb55f6   David Gibson   Move dtc and libf...
55
56
  libfdt       := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
  libfdtheader := fdt.h libfdt.h libfdt_internal.h
739276936   Matthew McClintock   powerpc: Fix buil...
57
  $(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o): \
9fffb55f6   David Gibson   Move dtc and libf...
58
  	$(addprefix $(obj)/,$(libfdtheader))
143580ecf   Kumar Gala   [POWERPC] Fix boo...
59
  src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
9fffb55f6   David Gibson   Move dtc and libf...
60
  		$(libfdt) libfdt-wrapper.c \
ad9d2716c   David Gibson   [POWERPC] zImage:...
61
  		ns16550.c serial.c simple_alloc.c div64.S util.S \
2e6016133   David Gibson   [POWERPC] Split l...
62
  		gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
d0f53fafc   Scott Wood   [POWERPC] bootwra...
63
  		4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \
bbc6fac38   Scott Wood   [POWERPC] bootwra...
64
  		cpm-serial.c stdlib.c mpc52xx-psc.c planetcore.c uartlite.c \
26054c954   Albert Herranz   powerpc: gamecube...
65
  		fsl-soc.c mpc8xx.c pq2.c ugecon.c
3490cba56   Jon Loeliger   [POWERPC] Add ini...
66
  src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \
6c5b59b91   David Gibson   powerpc/boot: Add...
67
68
  		cuboot-ebony.c cuboot-hotfoot.c epapr.c treeboot-ebony.c \
  		prpmc2800.c \
606d08bcd   Valentine Barshak   [POWERPC] PowerPC...
69
  		ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
254313338   Grant Likely   [POWERPC] bootwra...
70
71
  		cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c \
  		cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
c6ec08e03   Remi Machet   powerpc: Boot cod...
72
  		fixed-head.S ep88xc.c ep405.c cuboot-c2k.c \
1e12f3c59   Sean MacLennan   [POWERPC] 4xx: PI...
73
  		cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
d2477b5cc   Grant Likely   [POWERPC] bootwra...
74
  		cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
94c73a8f9   Josh Boyer   powerpc/40x: Add ...
75
  		virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
b68a24bc7   Albert Herranz   powerpc: gamecube...
76
  		cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
228d55053   Tony Breeds   powerpc/47x: Add ...
77
78
  		gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c \
  		treeboot-currituck.c
cd197ffcf   David Gibson   [POWERPC] zImage:...
79
  src-boot := $(src-wlib) $(src-plat) empty.c
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
80

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
81
82
  src-boot := $(addprefix $(obj)/, $(src-boot))
  obj-boot := $(addsuffix .o, $(basename $(src-boot)))
2bf118197   Paul Mackerras   [POWERPC] Create ...
83
84
  obj-wlib := $(addsuffix .o, $(basename $(addprefix $(obj)/, $(src-wlib))))
  obj-plat := $(addsuffix .o, $(basename $(addprefix $(obj)/, $(src-plat))))
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
85
86
  
  quiet_cmd_copy_zlib = COPY    $@
3ff6eecca   Adrian Bunk   remove __attribut...
87
        cmd_copy_zlib = sed "s@__used@@;s@<linux/\([^>]*\).*@\"\1\"@" $< > $@
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
88
89
  
  quiet_cmd_copy_zlibheader = COPY    $@
67ccd2fcd   Segher Boessenkool   [POWERPC] Fix sed...
90
        cmd_copy_zlibheader = sed "s@<linux/\([^>]*\).*@\"\1\"@" $< > $@
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
91
92
  # stddef.h for NULL
  quiet_cmd_copy_zliblinuxheader = COPY    $@
67ccd2fcd   Segher Boessenkool   [POWERPC] Fix sed...
93
        cmd_copy_zliblinuxheader = sed "s@<linux/string.h>@\"string.h\"@;s@<linux/kernel.h>@<stddef.h>@;s@<linux/\([^>]*\).*@\"\1\"@" $< > $@
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
94
95
96
97
98
99
100
101
102
  
  $(addprefix $(obj)/,$(zlib)): $(obj)/%: $(srctree)/lib/zlib_inflate/%
  	$(call cmd,copy_zlib)
  
  $(addprefix $(obj)/,$(zlibheader)): $(obj)/%: $(srctree)/lib/zlib_inflate/%
  	$(call cmd,copy_zlibheader)
  
  $(addprefix $(obj)/,$(zliblinuxheader)): $(obj)/%: $(srctree)/include/linux/%
  	$(call cmd,copy_zliblinuxheader)
9fffb55f6   David Gibson   Move dtc and libf...
103
104
105
106
107
  quiet_cmd_copy_libfdt = COPY    $@
        cmd_copy_libfdt = cp $< $@
  
  $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
  	$(call cmd,copy_libfdt)
2bf118197   Paul Mackerras   [POWERPC] Create ...
108
109
  $(obj)/empty.c:
  	@touch $@
bafdb6457   Geoff Levand   [POWERPC] PS3: Bo...
110
  $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds: $(obj)/%: $(srctree)/$(src)/%.S
2bf118197   Paul Mackerras   [POWERPC] Create ...
111
  	@cp $< $@
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
112

2bf118197   Paul Mackerras   [POWERPC] Create ...
113
  clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \
9fffb55f6   David Gibson   Move dtc and libf...
114
  		$(libfdt) $(libfdtheader) \
b58a45752   Kumar Gala   [POWERPC] Remove ...
115
  		empty.c zImage.coff.lds zImage.ps3.lds zImage.lds
7054036fc   Olaf Hering   [PATCH] ppc64 boo...
116

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
117
118
119
120
121
  quiet_cmd_bootcc = BOOTCC  $@
        cmd_bootcc = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTCFLAGS) -c -o $@ $<
  
  quiet_cmd_bootas = BOOTAS  $@
        cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
2bf118197   Paul Mackerras   [POWERPC] Create ...
122
  quiet_cmd_bootar = BOOTAR  $@
31355403d   Michal Marek   powerpc: Use the ...
123
        cmd_bootar = $(CROSS32AR) -cr$(KBUILD_ARFLAGS) $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
a24c8481b   Geoff Levand   [PATCH] ppc64: zi...
124

9fffb55f6   David Gibson   Move dtc and libf...
125
126
  $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
  	$(call if_changed_dep,bootcc)
235fd8354   Milton Miller   [POWERPC] boot: U...
127
  $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE
2f0dfeaa8   David Gibson   [POWERPC] Use emb...
128
  	$(Q)mkdir -p $(dir $@)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
129
  	$(call if_changed_dep,bootcc)
235fd8354   Milton Miller   [POWERPC] boot: U...
130
  $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE
2f0dfeaa8   David Gibson   [POWERPC] Use emb...
131
  	$(Q)mkdir -p $(dir $@)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
132
  	$(call if_changed_dep,bootas)
235fd8354   Milton Miller   [POWERPC] boot: U...
133
134
  $(obj)/wrapper.a: $(obj-wlib) FORCE
  	$(call if_changed,bootar)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
135

97bb63e49   Paul Mackerras   powerpc/boot: Rem...
136
  hostprogs-y	:= addnote hack-coff mktree
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
137

235fd8354   Milton Miller   [POWERPC] boot: U...
138
  targets		+= $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
cd197ffcf   David Gibson   [POWERPC] zImage:...
139
  extra-y		:= $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
bafdb6457   Geoff Levand   [POWERPC] PS3: Bo...
140
  		   $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds
66a45dd36   Paul Mackerras   powerpc: Make COF...
141

254313338   Grant Likely   [POWERPC] bootwra...
142
  dtstree		:= $(srctree)/$(src)/dts
2bf118197   Paul Mackerras   [POWERPC] Create ...
143
  wrapper		:=$(srctree)/$(src)/wrapper
9fffb55f6   David Gibson   Move dtc and libf...
144
  wrapperbits	:= $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \
235fd8354   Milton Miller   [POWERPC] boot: U...
145
  			$(wrapper) FORCE
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
146

2bf118197   Paul Mackerras   [POWERPC] Create ...
147
148
  #############
  # Bits for building various flavours of zImage
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
149

2bf118197   Paul Mackerras   [POWERPC] Create ...
150
  ifneq ($(CROSS32_COMPILE),)
dcf906512   Michael Ellerman   [POWERPC] Fix boo...
151
  CROSSWRAP := -C "$(CROSS32_COMPILE)"
2bf118197   Paul Mackerras   [POWERPC] Create ...
152
153
  else
  ifneq ($(CROSS_COMPILE),)
dcf906512   Michael Ellerman   [POWERPC] Fix boo...
154
  CROSSWRAP := -C "$(CROSS_COMPILE)"
2bf118197   Paul Mackerras   [POWERPC] Create ...
155
156
  endif
  endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
157

9da82a6de   Milton Miller   [POWERPC] boot: U...
158
  # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd
2bf118197   Paul Mackerras   [POWERPC] Create ...
159
  quiet_cmd_wrap	= WRAP    $@
9da82a6de   Milton Miller   [POWERPC] boot: U...
160
161
        cmd_wrap	=$(CONFIG_SHELL) $(wrapper) -c -o $@ -p $2 $(CROSSWRAP) \
  		$(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux
2bf118197   Paul Mackerras   [POWERPC] Create ...
162

020533ef2   Geoff Levand   [POWERPC] cell: f...
163
  image-$(CONFIG_PPC_PSERIES)		+= zImage.pseries
55190f887   Benjamin Herrenschmidt   powerpc: Add skel...
164
  image-$(CONFIG_PPC_POWERNV)		+= zImage.pseries
58706ef96   Corey Minyard   powerpc: Add a ne...
165
  image-$(CONFIG_PPC_MAPLE)		+= zImage.maple
020533ef2   Geoff Levand   [POWERPC] cell: f...
166
  image-$(CONFIG_PPC_IBM_CELL_BLADE)	+= zImage.pseries
595be948c   Grant Likely   [POWERPC] Fix zIm...
167
  image-$(CONFIG_PPC_PS3)			+= dtbImage.ps3
c347b7989   Ishizaki Kou   [POWERPC] Celleb:...
168
  image-$(CONFIG_PPC_CELLEB)		+= zImage.pseries
def434c23   Benjamin Krill   powerpc/cell: add...
169
  image-$(CONFIG_PPC_CELL_QPACE)		+= zImage.pseries
020533ef2   Geoff Levand   [POWERPC] cell: f...
170
  image-$(CONFIG_PPC_CHRP)		+= zImage.chrp
7839af335   Nicolas DET   [POWERPC] Compile...
171
  image-$(CONFIG_PPC_EFIKA)		+= zImage.chrp
020533ef2   Geoff Levand   [POWERPC] cell: f...
172
  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
32dde0f97   Josh Boyer   powerpc: Holly bo...
173
  image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly
a7e695f6b   Dale Farnsworth   [POWERPC] prpmc28...
174
  image-$(CONFIG_PPC_PRPMC2800)		+= dtbImage.prpmc2800
0570d4ed4   Stephen Rothwell   [POWERPC] Create ...
175
  image-$(CONFIG_PPC_ISERIES)		+= zImage.iseries
ac18c673e   Scott Wood   [POWERPC] bootwra...
176
  image-$(CONFIG_DEFAULT_UIMAGE)		+= uImage
6c5b59b91   David Gibson   powerpc/boot: Add...
177
  image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr
ac18c673e   Scott Wood   [POWERPC] bootwra...
178

254313338   Grant Likely   [POWERPC] bootwra...
179
180
181
182
183
  #
  # Targets which embed a device tree blob
  #
  # Theses are default targets to build images which embed device tree blobs.
  # They are only required on boards which do not have FDT support in firmware.
2a94739c7   Nick Andrew   trivial: Fix miss...
184
  # Boards with newish u-boot firmware can use the uImage target above
254313338   Grant Likely   [POWERPC] bootwra...
185
186
187
  #
  
  # Board ports in arch/powerpc/platform/40x/Kconfig
595be948c   Grant Likely   [POWERPC] Fix zIm...
188
  image-$(CONFIG_EP405)			+= dtbImage.ep405
0cdf50a7c   Solomon Peachy   powerpc/40x: Add ...
189
  image-$(CONFIG_HOTFOOT)			+= cuImage.hotfoot
254313338   Grant Likely   [POWERPC] bootwra...
190
  image-$(CONFIG_WALNUT)			+= treeImage.walnut
94c73a8f9   Josh Boyer   powerpc/40x: Add ...
191
  image-$(CONFIG_ACADIA)			+= cuImage.acadia
11eab297f   Benjamin Herrenschmidt   powerpc: Add supp...
192
  image-$(CONFIG_OBS600)			+= uImage.obs600
254313338   Grant Likely   [POWERPC] bootwra...
193
194
  
  # Board ports in arch/powerpc/platform/44x/Kconfig
f6dfc8055   David Gibson   [POWERPC] Support...
195
  image-$(CONFIG_EBONY)			+= treeImage.ebony cuImage.ebony
658e81701   Josh Boyer   [POWERPC] cuimage...
196
  image-$(CONFIG_BAMBOO)			+= treeImage.bamboo cuImage.bamboo
b6014e15b   Giuseppe Coviello   powerpc/4xx: Sam4...
197
  image-$(CONFIG_SAM440EP)		+= cuImage.sam440ep
606d08bcd   Valentine Barshak   [POWERPC] PowerPC...
198
  image-$(CONFIG_SEQUOIA)			+= cuImage.sequoia
295e74273   Valentine Barshak   [POWERPC] 4xx: 44...
199
  image-$(CONFIG_RAINIER)			+= cuImage.rainier
6bbc54762   Hugh Blemings   [POWERPC] 4xx: Ba...
200
  image-$(CONFIG_TAISHAN)			+= cuImage.taishan
3de9c9cd2   Benjamin Herrenschmidt   [POWERPC] 4xx: Ba...
201
  image-$(CONFIG_KATMAI)			+= cuImage.katmai
1e12f3c59   Sean MacLennan   [POWERPC] 4xx: PI...
202
  image-$(CONFIG_WARP)			+= cuImage.warp
d0a48c9f4   Josh Boyer   [POWERPC] 4xx: Ad...
203
  image-$(CONFIG_YOSEMITE)		+= cuImage.yosemite
b4e8c8dd8   Torez Smith   powerpc/4xx: Simp...
204
205
  image-$(CONFIG_ISS4xx)			+= treeImage.iss4xx \
  					   treeImage.iss4xx-mpic
228d55053   Tony Breeds   powerpc/47x: Add ...
206
  image-$(CONFIG_CURRITUCK)			+= treeImage.currituck
66a45dd36   Paul Mackerras   powerpc: Make COF...
207

254313338   Grant Likely   [POWERPC] bootwra...
208
  # Board ports in arch/powerpc/platform/8xx/Kconfig
efa58fbf1   Adrian Bunk   [POWERPC] boot/Ma...
209
210
  image-$(CONFIG_MPC86XADS)		+= cuImage.mpc866ads
  image-$(CONFIG_MPC885ADS)		+= cuImage.mpc885ads
595be948c   Grant Likely   [POWERPC] Fix zIm...
211
  image-$(CONFIG_PPC_EP88XC)		+= dtbImage.ep88xc
254313338   Grant Likely   [POWERPC] bootwra...
212
  image-$(CONFIG_PPC_ADDER875)		+= cuImage.adder875-uboot \
595be948c   Grant Likely   [POWERPC] Fix zIm...
213
  					   dtbImage.adder875-redboot
254313338   Grant Likely   [POWERPC] bootwra...
214
215
  
  # Board ports in arch/powerpc/platform/52xx/Kconfig
bfee95bb8   Grant Likely   powerpc/5200: Add...
216
217
218
  image-$(CONFIG_PPC_LITE5200)		+= cuImage.lite5200 lite5200.dtb
  image-$(CONFIG_PPC_LITE5200)		+= cuImage.lite5200b lite5200b.dtb
  image-$(CONFIG_PPC_MEDIA5200)		+= cuImage.media5200 media5200.dtb
254313338   Grant Likely   [POWERPC] bootwra...
219
220
221
222
  
  # Board ports in arch/powerpc/platform/82xx/Kconfig
  image-$(CONFIG_MPC8272_ADS)		+= cuImage.mpc8272ads
  image-$(CONFIG_PQ2FADS)			+= cuImage.pq2fads
595be948c   Grant Likely   [POWERPC] Fix zIm...
223
  image-$(CONFIG_EP8248E)			+= dtbImage.ep8248e
254313338   Grant Likely   [POWERPC] bootwra...
224
225
226
227
228
229
230
231
  
  # Board ports in arch/powerpc/platform/83xx/Kconfig
  image-$(CONFIG_MPC832x_MDS)		+= cuImage.mpc832x_mds
  image-$(CONFIG_MPC832x_RDB)		+= cuImage.mpc832x_rdb
  image-$(CONFIG_MPC834x_ITX)		+= cuImage.mpc8349emitx \
  					   cuImage.mpc8349emitxgp
  image-$(CONFIG_MPC834x_MDS)		+= cuImage.mpc834x_mds
  image-$(CONFIG_MPC836x_MDS)		+= cuImage.mpc836x_mds
59d13f9db   Bryan O'Donoghue   [POWERPC] 83xx: A...
232
  image-$(CONFIG_ASP834x)			+= dtbImage.asp834x-redboot
254313338   Grant Likely   [POWERPC] bootwra...
233
234
235
236
237
238
239
240
241
242
243
244
  
  # Board ports in arch/powerpc/platform/85xx/Kconfig
  image-$(CONFIG_MPC8540_ADS)		+= cuImage.mpc8540ads
  image-$(CONFIG_MPC8560_ADS)		+= cuImage.mpc8560ads
  image-$(CONFIG_MPC85xx_CDS)		+= cuImage.mpc8541cds \
  					   cuImage.mpc8548cds \
  					   cuImage.mpc8555cds
  image-$(CONFIG_MPC85xx_MDS)		+= cuImage.mpc8568mds
  image-$(CONFIG_MPC85xx_DS)		+= cuImage.mpc8544ds \
  					   cuImage.mpc8572ds
  image-$(CONFIG_TQM8540)			+= cuImage.tqm8540
  image-$(CONFIG_TQM8541)			+= cuImage.tqm8541
6dd1b64a2   Wolfgang Grandegger   powerpc/85xx: add...
245
  image-$(CONFIG_TQM8548)			+= cuImage.tqm8548
254313338   Grant Likely   [POWERPC] bootwra...
246
247
  image-$(CONFIG_TQM8555)			+= cuImage.tqm8555
  image-$(CONFIG_TQM8560)			+= cuImage.tqm8560
a72a6f53d   Paul Gortmaker   [POWERPC] Fix bui...
248
249
  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
  image-$(CONFIG_SBC8560)			+= cuImage.sbc8560
ff880112a   Alexandr Smirnov   [POWERPC] 85xx: E...
250
  image-$(CONFIG_KSI8560)			+= cuImage.ksi8560
254313338   Grant Likely   [POWERPC] bootwra...
251
252
253
254
  
  # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
  image-$(CONFIG_STORCENTER)		+= cuImage.storcenter
  image-$(CONFIG_MPC7448HPC2)		+= cuImage.mpc7448hpc2
c6ec08e03   Remi Machet   powerpc: Boot cod...
255
  image-$(CONFIG_PPC_C2K)			+= cuImage.c2k
b68a24bc7   Albert Herranz   powerpc: gamecube...
256
  image-$(CONFIG_GAMECUBE)		+= dtbImage.gamecube
6cdd24179   Albert Herranz   powerpc: wii: boo...
257
  image-$(CONFIG_WII)			+= dtbImage.wii
b09c16440   Scott Wood   [POWERPC] 8xx: An...
258

8f23735d8   Gerhard Pircher   powerpc/amigaone:...
259
260
  # Board port in arch/powerpc/platform/amigaone/Kconfig
  image-$(CONFIG_AMIGAONE)		+= cuImage.amigaone
9216ad8cb   Paul Mackerras   powerpc/32: Gener...
261
262
  # For 32-bit powermacs, build the COFF and miboot images
  # as well as the ELF images.
2bf118197   Paul Mackerras   [POWERPC] Create ...
263
264
265
  ifeq ($(CONFIG_PPC32),y)
  image-$(CONFIG_PPC_PMAC)	+= zImage.coff zImage.miboot
  endif
c356aa456   Grant Likely   powerpc/bootwrapp...
266
267
  # Allow extra targets to be added to the defconfig
  image-y	+= $(subst ",,$(CONFIG_EXTRA_TARGETS))
5d7960ffb   Milton Miller   [POWERPC] boot: c...
268
  initrd-  := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-))
f6dfc8055   David Gibson   [POWERPC] Support...
269
  initrd-y := $(patsubst zImage%, zImage.initrd%, \
595be948c   Grant Likely   [POWERPC] Fix zIm...
270
  		$(patsubst dtbImage%, dtbImage.initrd%, \
5d1a04110   John Linn   powerpc/bootwrapp...
271
272
  		$(patsubst simpleImage%, simpleImage.initrd%, \
  		$(patsubst treeImage%, treeImage.initrd%, $(image-y)))))
9da82a6de   Milton Miller   [POWERPC] boot: U...
273
  initrd-y := $(filter-out $(image-y), $(initrd-y))
235fd8354   Milton Miller   [POWERPC] boot: U...
274
  targets	+= $(image-y) $(initrd-y)
2bf118197   Paul Mackerras   [POWERPC] Create ...
275

9da82a6de   Milton Miller   [POWERPC] boot: U...
276
277
278
279
280
  $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
  
  # Don't put the ramdisk on the pattern rule; when its missing make will try
  # the pattern rule with less dependencies that also matches (even with the
  # hard dependency listed).
254313338   Grant Likely   [POWERPC] bootwra...
281
282
  $(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
  	$(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
9da82a6de   Milton Miller   [POWERPC] boot: U...
283

254313338   Grant Likely   [POWERPC] bootwra...
284
285
  $(obj)/zImage.%: vmlinux $(wrapperbits)
  	$(call if_changed,wrap,$*)
595be948c   Grant Likely   [POWERPC] Fix zIm...
286
  # dtbImage% - a dtbImage is a zImage with an embedded device tree blob
e04018e8e   Grant Likely   [POWERPC] add tar...
287
288
  $(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb
  	$(call if_changed,wrap,$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
254313338   Grant Likely   [POWERPC] bootwra...
289

e04018e8e   Grant Likely   [POWERPC] add tar...
290
291
  $(obj)/dtbImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb
  	$(call if_changed,wrap,$*,,$(obj)/$*.dtb)
9da82a6de   Milton Miller   [POWERPC] boot: U...
292

4bb092811   Tony Breeds   [POWERPC] Create ...
293
294
295
296
  # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
  # prefix
  $(obj)/vmlinux.strip: vmlinux
  	$(STRIP) -s -R .comment $< -o $@
549e8152d   Paul Mackerras   powerpc: Make the...
297
298
  # The iseries hypervisor won't take an ET_DYN executable, so this
  # changes the type (byte 17) in the file to ET_EXEC (2).
0570d4ed4   Stephen Rothwell   [POWERPC] Create ...
299
300
  $(obj)/zImage.iseries: vmlinux
  	$(STRIP) -s -R .comment $< -o $@
549e8152d   Paul Mackerras   powerpc: Make the...
301
  	printf "\x02" | dd of=$@ conv=notrunc bs=1 seek=17
0570d4ed4   Stephen Rothwell   [POWERPC] Create ...
302

9da82a6de   Milton Miller   [POWERPC] boot: U...
303
304
  $(obj)/uImage: vmlinux $(wrapperbits)
  	$(call if_changed,wrap,uboot)
11eab297f   Benjamin Herrenschmidt   powerpc: Add supp...
305
306
307
308
309
  $(obj)/uImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
  
  $(obj)/uImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb)
a4292d7ae   Grant Likely   powerpc: Add miss...
310
311
  $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
e04018e8e   Grant Likely   [POWERPC] add tar...
312
313
  $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
0fdd717ed   Scott Wood   [POWERPC] bootwra...
314

d2477b5cc   Grant Likely   [POWERPC] bootwra...
315
316
317
318
319
  $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
  
  $(obj)/simpleImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb)
e04018e8e   Grant Likely   [POWERPC] add tar...
320
321
  $(obj)/treeImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
f6dfc8055   David Gibson   [POWERPC] Support...
322

e04018e8e   Grant Likely   [POWERPC] add tar...
323
324
325
326
  $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
  	$(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb)
  
  # Rule to build device tree blobs
7c4318513   Stephen Warren   Kbuild: Use dtc's...
327
328
  $(obj)/%.dtb: $(src)/dts/%.dts FORCE
  	$(call if_changed_dep,dtc)
6a32d085a   David Gibson   [POWERPC] Fix mak...
329

4bb092811   Tony Breeds   [POWERPC] Create ...
330
331
332
333
  # If there isn't a platform selected then just strip the vmlinux.
  ifeq (,$(image-y))
  image-y := vmlinux.strip
  endif
2bf118197   Paul Mackerras   [POWERPC] Create ...
334
335
336
337
  $(obj)/zImage:		$(addprefix $(obj)/, $(image-y))
  	@rm -f $@; ln $< $@
  $(obj)/zImage.initrd:	$(addprefix $(obj)/, $(initrd-y))
  	@rm -f $@; ln $< $@
928370c67   Akinobu Mita   [POWERPC] Enable ...
338
  install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
29f1aff2c   Grant Likely   powerpc: Copy boo...
339
  	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^
2bf118197   Paul Mackerras   [POWERPC] Create ...
340

1383a34fa   Milton Miller   [POWERPC] bootwra...
341
  # anything not in $(targets)
b58a45752   Kumar Gala   [POWERPC] Remove ...
342
343
344
  clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
  	zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
  	zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
58706ef96   Corey Minyard   powerpc: Add a ne...
345
  	zImage.maple simpleImage.* otheros.bld *.dtb
1383a34fa   Milton Miller   [POWERPC] bootwra...
346
347
348
349
350
351
  
  # clean up files cached by wrapper
  clean-kernel := vmlinux.strip vmlinux.bin
  clean-kernel += $(addsuffix .gz,$(clean-kernel))
  # If not absolute clean-files are relative to $(obj).
  clean-files += $(addprefix $(objtree)/, $(clean-kernel))
773f76b16   David Woodhouse   [POWERPC] Impleme...
352
353
354
355
356
357
358
359
360
  
  WRAPPER_OBJDIR := /usr/lib/kernel-wrapper
  WRAPPER_DTSDIR := /usr/lib/kernel-wrapper/dts
  WRAPPER_BINDIR := /usr/sbin
  INSTALL := install
  
  extra-installed		:= $(patsubst $(obj)/%, $(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y))
  hostprogs-installed	:= $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, $(hostprogs-y))
  wrapper-installed	:= $(DESTDIR)$(WRAPPER_BINDIR)/wrapper
4d9ef89de   Ben Hutchings   powerpc/boot/dts:...
361
  dts-installed		:= $(patsubst $(dtstree)/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(dtstree)/*.dts))
773f76b16   David Woodhouse   [POWERPC] Impleme...
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
  
  all-installed		:= $(extra-installed) $(hostprogs-installed) $(wrapper-installed) $(dts-installed)
  
  quiet_cmd_mkdir           = MKDIR   $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
        cmd_mkdir           = mkdir -p $@
  
  quiet_cmd_install	  = INSTALL $(patsubst $(DESTDIR)$(WRAPPER_OBJDIR)/%,%,$@)
        cmd_install	  = $(INSTALL)  -m0644 $(patsubst $(DESTDIR)$(WRAPPER_OBJDIR)/%,$(obj)/%,$@) $@
  
  quiet_cmd_install_dts	  = INSTALL $(patsubst $(DESTDIR)$(WRAPPER_DTSDIR)/%,dts/%,$@)
        cmd_install_dts	  = $(INSTALL)  -m0644 $(patsubst $(DESTDIR)$(WRAPPER_DTSDIR)/%,$(srctree)/$(obj)/dts/%,$@) $@
  
  quiet_cmd_install_exe	  = INSTALL $(patsubst $(DESTDIR)$(WRAPPER_BINDIR)/%,%,$@)
        cmd_install_exe	  = $(INSTALL)  -m0755 $(patsubst $(DESTDIR)$(WRAPPER_BINDIR)/%,$(obj)/%,$@) $@
  
  quiet_cmd_install_wrapper = INSTALL $(patsubst $(DESTDIR)$(WRAPPER_BINDIR)/%,%,$@)
        cmd_install_wrapper = $(INSTALL)  -m0755 $(patsubst $(DESTDIR)$(WRAPPER_BINDIR)/%,$(srctree)/$(obj)/%,$@) $@ ;\
  				sed -i $@ -e 's%^object=.*%object=$(WRAPPER_OBJDIR)%' \
  					  -e 's%^objbin=.*%objbin=$(WRAPPER_BINDIR)%' \
  
  
  $(DESTDIR)$(WRAPPER_OBJDIR) $(DESTDIR)$(WRAPPER_DTSDIR) $(DESTDIR)$(WRAPPER_BINDIR):
  	$(call cmd,mkdir)
  
  $(extra-installed)	: $(DESTDIR)$(WRAPPER_OBJDIR)/% : $(obj)/% | $(DESTDIR)$(WRAPPER_OBJDIR)
  	$(call cmd,install)
  
  $(hostprogs-installed)  : $(DESTDIR)$(WRAPPER_BINDIR)/% : $(obj)/% | $(DESTDIR)$(WRAPPER_BINDIR)
  	$(call cmd,install_exe)
  
  $(dts-installed)	: $(DESTDIR)$(WRAPPER_DTSDIR)/% : $(srctree)/$(obj)/dts/% | $(DESTDIR)$(WRAPPER_DTSDIR)
  	$(call cmd,install_dts)
  
  $(wrapper-installed): $(DESTDIR)$(WRAPPER_BINDIR) $(srctree)/$(obj)/wrapper | $(DESTDIR)$(WRAPPER_BINDIR)
  	$(call cmd,install_wrapper)
  
  $(obj)/bootwrapper_install: $(all-installed)