]> err.no Git - linux-2.6/blobdiff - arch/sh/boot/Makefile
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / arch / sh / boot / Makefile
index 60797b31089ce79dbd4fbe68a37df2bd735a266a..3dda24daa0a8ed66242cc9063a2364f88c90f2fe 100644 (file)
@@ -8,13 +8,62 @@
 # Copyright (C) 1999 Stuart Menefy
 #
 
-targets := zImage
+MKIMAGE := $(srctree)/scripts/mkuboot.sh
+
+#
+# Assign safe dummy values if these variables are not defined,
+# in order to suppress error message.
+#
+CONFIG_PAGE_OFFSET     ?= 0x80000000
+CONFIG_MEMORY_START    ?= 0x0c000000
+CONFIG_BOOT_LINK_OFFSET        ?= 0x00800000
+CONFIG_ZERO_PAGE_OFFSET        ?= 0x00001000
+
+export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \
+       CONFIG_ZERO_PAGE_OFFSET
+
+targets := zImage vmlinux.srec uImage uImage.srec
 subdir- := compressed
 
 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
        $(call if_changed,objcopy)
-       @echo 'Kernel: $@ is ready'
+       @echo '  Kernel: $@ is ready'
 
 $(obj)/compressed/vmlinux: FORCE
        $(Q)$(MAKE) $(build)=$(obj)/compressed $@
 
+KERNEL_LOAD    := $(shell /bin/bash -c 'printf "0x%08x" \
+                    $$[$(CONFIG_PAGE_OFFSET)  + \
+                       $(CONFIG_MEMORY_START) + \
+                       $(CONFIG_ZERO_PAGE_OFFSET)]')
+
+KERNEL_ENTRY   := $(shell /bin/bash -c 'printf "0x%08x" \
+                    $$[$(CONFIG_PAGE_OFFSET)  + \
+                       $(CONFIG_MEMORY_START) + \
+                       $(CONFIG_ZERO_PAGE_OFFSET)+0x1000]')
+
+quiet_cmd_uimage = UIMAGE  $@
+      cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
+                  -C none -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
+                  -n 'Linux-$(KERNELRELEASE)' -d $< $@
+
+$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
+       $(call if_changed,uimage)
+       @echo '  Image $@ is ready'
+
+$(obj)/vmlinux.bin: vmlinux FORCE
+       $(call if_changed,objcopy)
+
+$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
+       $(call if_changed,gzip)
+
+OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec
+$(obj)/vmlinux.srec: $(obj)/compressed/vmlinux
+       $(call if_changed,objcopy)
+
+OBJCOPYFLAGS_uImage.srec := -I binary -O srec
+$(obj)/uImage.srec: $(obj)/uImage
+       $(call if_changed,objcopy)
+
+clean-files    += uImage uImage.srec vmlinux.srec \
+                  vmlinux.bin vmlinux.bin.gz