blob: be01d78750d9c64dc44e74c8475ec720f19a791f [file] [log] [blame]
Michal Simek5f8ffb52009-03-27 14:25:51 +01001#
2# arch/microblaze/boot/Makefile
3#
4
Michal Simek6a8dfe12009-10-14 17:38:26 +02005MKIMAGE := $(srctree)/scripts/mkuboot.sh
6
Michal Simekf05131c2009-09-14 15:15:49 +02007obj-y += linked_dtb.o
8
9targets := linux.bin linux.bin.gz simpleImage.%
Michal Simek5f8ffb52009-03-27 14:25:51 +010010
Michal Simek6a8dfe12009-10-14 17:38:26 +020011OBJCOPYFLAGS := -O binary
Michal Simek5f8ffb52009-03-27 14:25:51 +010012
Michal Simekf05131c2009-09-14 15:15:49 +020013# Where the DTS files live
14dtstree := $(srctree)/$(src)/dts
15
16# Ensure system.dtb exists
17$(obj)/linked_dtb.o: $(obj)/system.dtb
18
19# Generate system.dtb from $(DTB).dtb
20ifneq ($(DTB),system)
21$(obj)/system.dtb: $(obj)/$(DTB).dtb
22 $(call if_changed,cp)
23endif
24
Michal Simek5f8ffb52009-03-27 14:25:51 +010025$(obj)/linux.bin: vmlinux FORCE
Michal Simek5f8ffb52009-03-27 14:25:51 +010026 $(call if_changed,objcopy)
Michal Simek6a8dfe12009-10-14 17:38:26 +020027 $(call if_changed,uimage)
Michal Simek5f8ffb52009-03-27 14:25:51 +010028 @echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
29
30$(obj)/linux.bin.gz: $(obj)/linux.bin FORCE
31 $(call if_changed,gzip)
32 @echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
33
Michal Simekf05131c2009-09-14 15:15:49 +020034quiet_cmd_cp = CP $< $@$2
35 cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false)
36
37quiet_cmd_strip = STRIP $@
Michal Simekca28b512010-07-28 09:29:11 +020038 cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
Michal Simek61b403a2010-07-28 07:58:06 +020039 -K _fdt_start vmlinux -o $@
Michal Simekf05131c2009-09-14 15:15:49 +020040
Michal Simek6a8dfe12009-10-14 17:38:26 +020041quiet_cmd_uimage = UIMAGE $@.ub
Michal Simek61b403a2010-07-28 07:58:06 +020042 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
43 -C none -n 'Linux-$(KERNELRELEASE)' \
44 -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
45 -d $@ $@.ub
Michal Simek6a8dfe12009-10-14 17:38:26 +020046
Michal Simekf05131c2009-09-14 15:15:49 +020047$(obj)/simpleImage.%: vmlinux FORCE
48 $(call if_changed,cp,.unstrip)
Michal Simek6a8dfe12009-10-14 17:38:26 +020049 $(call if_changed,objcopy)
50 $(call if_changed,uimage)
Michal Simekf05131c2009-09-14 15:15:49 +020051 $(call if_changed,strip)
52 @echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
53
54# Rule to build device tree blobs
55DTC = $(objtree)/scripts/dtc/dtc
56
57# Rule to build device tree blobs
58quiet_cmd_dtc = DTC $@
59 cmd_dtc = $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 -p 1024 $(dtstree)/$*.dts
60
61$(obj)/%.dtb: $(dtstree)/%.dts FORCE
62 $(call if_changed,dtc)
63
Arun Bhanu8a8804f2010-03-17 16:06:03 +080064clean-files += *.dtb simpleImage.*.unstrip linux.bin.ub