blob: ec8cd703b708c33870bb2c110a929e4af1c3eb64 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002# Makefile for the Sparc boot stuff.
3#
4# Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
5# Copyright (C) 1997,1998 Jakub Jelinek (jj@ultra.linux.cz)
6
7ROOT_IMG := /usr/src/root.img
8ELFTOAOUT := elftoaout
9
Sam Ravnborg51f19cf2012-05-14 19:35:50 +020010hostprogs-y := piggyback
11targets := tftpboot.img image zImage vmlinux.aout
Sam Ravnborgc48932692008-11-29 21:53:26 -080012clean-files := System.map
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
14quiet_cmd_elftoaout = ELFTOAOUT $@
15 cmd_elftoaout = $(ELFTOAOUT) $(obj)/image -o $@
Sam Ravnborg56818a6f2011-01-04 11:39:17 +000016quiet_cmd_piggy = PIGGY $@
17 cmd_piggy = $(obj)/piggyback $(BITS) $@ System.map $(ROOT_IMG)
Sam Ravnborg9202db22011-01-04 11:39:18 +000018quiet_cmd_strip = STRIP $@
19 cmd_strip = $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $< -o $@
Sam Ravnborga8c601c2008-12-03 03:14:26 -080020
Sam Ravnborga8c601c2008-12-03 03:14:26 -080021ifeq ($(CONFIG_SPARC64),y)
Sam Ravnborga8c601c2008-12-03 03:14:26 -080022
23# Actual linking
Sam Ravnborga8c601c2008-12-03 03:14:26 -080024
Jurij Smakov48e46b72009-08-16 18:21:47 -070025$(obj)/zImage: $(obj)/image
26 $(call if_changed,gzip)
Sam Ravnborg9202db22011-01-04 11:39:18 +000027 @echo ' kernel: $@ is ready'
Jurij Smakov48e46b72009-08-16 18:21:47 -070028
Sam Ravnborga8c601c2008-12-03 03:14:26 -080029$(obj)/vmlinux.aout: vmlinux FORCE
30 $(call if_changed,elftoaout)
31 @echo ' kernel: $@ is ready'
Daniel Hellstrom684151a2011-01-26 06:36:35 +000032else
33
Sam Ravnborg51f19cf2012-05-14 19:35:50 +020034$(obj)/zImage: $(obj)/image
35 $(call if_changed,strip)
36 @echo ' kernel: $@ is ready'
37
Daniel Hellstrom684151a2011-01-26 06:36:35 +000038# The following lines make a readable image for U-Boot.
39# uImage - Binary file read by U-boot
40# uImage.o - object file of uImage for loading with a
41# flash programmer understanding ELF.
42
43OBJCOPYFLAGS_image.bin := -S -O binary -R .note -R .comment
44$(obj)/image.bin: $(obj)/image FORCE
45 $(call if_changed,objcopy)
46
47$(obj)/image.gz: $(obj)/image.bin
48 $(call if_changed,gzip)
49
Stephen Warrene3393642012-03-16 15:03:55 -060050UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
51UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
52UIMAGE_COMPRESSION = gzip
Daniel Hellstrom684151a2011-01-26 06:36:35 +000053
54quiet_cmd_uimage.o = UIMAGE.O $@
55 cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
56 -r -b binary $@ -o $@.o
57
58targets += uImage
59$(obj)/uImage: $(obj)/image.gz
60 $(call if_changed,uimage)
61 $(call if_changed,uimage.o)
62 @echo ' Image $@ is ready'
63
Sam Ravnborga8c601c2008-12-03 03:14:26 -080064endif
65
Sam Ravnborg51f19cf2012-05-14 19:35:50 +020066$(obj)/image: vmlinux FORCE
67 $(call if_changed,strip)
68 @echo ' kernel: $@ is ready'
69
Sam Ravnborg56818a6f2011-01-04 11:39:17 +000070$(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE
71 $(call if_changed,elftoaout)
72 $(call if_changed,piggy)
David L Stevensc78f77e2014-07-25 13:41:51 -040073
74install:
75 sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/zImage \
76 System.map "$(INSTALL_PATH)"