xref: /linux/arch/microblaze/boot/Makefile (revision ca28b510163a55df6260652056bfc60c4cf8aca1)
15f8ffb5fSMichal Simek#
25f8ffb5fSMichal Simek# arch/microblaze/boot/Makefile
35f8ffb5fSMichal Simek#
45f8ffb5fSMichal Simek
56a8dfe1cSMichal SimekMKIMAGE := $(srctree)/scripts/mkuboot.sh
66a8dfe1cSMichal Simek
7f05131cdSMichal Simekobj-y += linked_dtb.o
8f05131cdSMichal Simek
9f05131cdSMichal Simektargets := linux.bin linux.bin.gz simpleImage.%
105f8ffb5fSMichal Simek
116a8dfe1cSMichal SimekOBJCOPYFLAGS := -O binary
125f8ffb5fSMichal Simek
13f05131cdSMichal Simek# Where the DTS files live
14f05131cdSMichal Simekdtstree         := $(srctree)/$(src)/dts
15f05131cdSMichal Simek
16f05131cdSMichal Simek# Ensure system.dtb exists
17f05131cdSMichal Simek$(obj)/linked_dtb.o: $(obj)/system.dtb
18f05131cdSMichal Simek
19f05131cdSMichal Simek# Generate system.dtb from $(DTB).dtb
20f05131cdSMichal Simekifneq ($(DTB),system)
21f05131cdSMichal Simek$(obj)/system.dtb: $(obj)/$(DTB).dtb
22f05131cdSMichal Simek	$(call if_changed,cp)
23f05131cdSMichal Simekendif
24f05131cdSMichal Simek
255f8ffb5fSMichal Simek$(obj)/linux.bin: vmlinux FORCE
265f8ffb5fSMichal Simek	$(call if_changed,objcopy)
276a8dfe1cSMichal Simek	$(call if_changed,uimage)
285f8ffb5fSMichal Simek	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
295f8ffb5fSMichal Simek
305f8ffb5fSMichal Simek$(obj)/linux.bin.gz: $(obj)/linux.bin FORCE
315f8ffb5fSMichal Simek	$(call if_changed,gzip)
325f8ffb5fSMichal Simek	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
335f8ffb5fSMichal Simek
34f05131cdSMichal Simekquiet_cmd_cp = CP      $< $@$2
35f05131cdSMichal Simek	cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false)
36f05131cdSMichal Simek
37f05131cdSMichal Simekquiet_cmd_strip = STRIP   $@
38*ca28b510SMichal Simek	cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
3961b403afSMichal Simek				-K _fdt_start vmlinux -o $@
40f05131cdSMichal Simek
416a8dfe1cSMichal Simekquiet_cmd_uimage = UIMAGE  $@.ub
426a8dfe1cSMichal Simek	cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
436a8dfe1cSMichal Simek		-C none -n 'Linux-$(KERNELRELEASE)' \
446a8dfe1cSMichal Simek		-a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
456a8dfe1cSMichal Simek		-d $@ $@.ub
466a8dfe1cSMichal Simek
47f05131cdSMichal Simek$(obj)/simpleImage.%: vmlinux FORCE
48f05131cdSMichal Simek	$(call if_changed,cp,.unstrip)
496a8dfe1cSMichal Simek	$(call if_changed,objcopy)
506a8dfe1cSMichal Simek	$(call if_changed,uimage)
51f05131cdSMichal Simek	$(call if_changed,strip)
52f05131cdSMichal Simek	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
53f05131cdSMichal Simek
54f05131cdSMichal Simek# Rule to build device tree blobs
55f05131cdSMichal SimekDTC = $(objtree)/scripts/dtc/dtc
56f05131cdSMichal Simek
57f05131cdSMichal Simek# Rule to build device tree blobs
58f05131cdSMichal Simekquiet_cmd_dtc = DTC     $@
59f05131cdSMichal Simek	cmd_dtc = $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 -p 1024 $(dtstree)/$*.dts
60f05131cdSMichal Simek
61f05131cdSMichal Simek$(obj)/%.dtb: $(dtstree)/%.dts FORCE
62f05131cdSMichal Simek	$(call if_changed,dtc)
63f05131cdSMichal Simek
648a8804f1SArun Bhanuclean-files += *.dtb simpleImage.*.unstrip linux.bin.ub
65