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 $(call if_changed,objcopy) 27 $(call if_changed,uimage) 28 @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 34quiet_cmd_cp = CP $< $@$2 35 cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false) 36 37quiet_cmd_strip = STRIP $@ 38 cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \ 39 -K _fdt_start vmlinux -o $@ 40 41quiet_cmd_uimage = UIMAGE $@.ub 42 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 46 47$(obj)/simpleImage.%: vmlinux FORCE 48 $(call if_changed,cp,.unstrip) 49 $(call if_changed,objcopy) 50 $(call if_changed,uimage) 51 $(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 64clean-files += *.dtb simpleImage.*.unstrip linux.bin.ub 65