xref: /openbmc/linux/arch/microblaze/boot/Makefile (revision 8a8804f1)
1#
2# arch/microblaze/boot/Makefile
3#
4
5MKIMAGE := $(srctree)/scripts/mkuboot.sh
6
7obj-y += linked_dtb.o
8
9targets := linux.bin linux.bin.gz simpleImage.%
10
11OBJCOPYFLAGS := -O binary
12
13# 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
25$(obj)/linux.bin: vmlinux FORCE
26	[ -n $(CONFIG_INITRAMFS_SOURCE) ] && [ ! -e $(CONFIG_INITRAMFS_SOURCE) ] && \
27	touch $(CONFIG_INITRAMFS_SOURCE) || echo "No CPIO image"
28	$(call if_changed,objcopy)
29	$(call if_changed,uimage)
30	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
31
32$(obj)/linux.bin.gz: $(obj)/linux.bin FORCE
33	$(call if_changed,gzip)
34	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
35
36quiet_cmd_cp = CP      $< $@$2
37	cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false)
38
39quiet_cmd_strip = STRIP   $@
40      cmd_strip = $(STRIP) -K _start -K _end -K __log_buf -K _fdt_start vmlinux -o $@
41
42quiet_cmd_uimage = UIMAGE  $@.ub
43      cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
44                   -C none -n 'Linux-$(KERNELRELEASE)' \
45                   -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
46                   -d $@ $@.ub
47
48$(obj)/simpleImage.%: vmlinux FORCE
49	$(call if_changed,cp,.unstrip)
50	$(call if_changed,objcopy)
51	$(call if_changed,uimage)
52	$(call if_changed,strip)
53	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
54
55# Rule to build device tree blobs
56DTC = $(objtree)/scripts/dtc/dtc
57
58# Rule to build device tree blobs
59quiet_cmd_dtc = DTC     $@
60	cmd_dtc = $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 -p 1024 $(dtstree)/$*.dts
61
62$(obj)/%.dtb: $(dtstree)/%.dts FORCE
63	$(call if_changed,dtc)
64
65clean-kernel += linux.bin linux.bin.gz simpleImage.*
66
67clean-files += *.dtb simpleImage.*.unstrip linux.bin.ub
68