GNU Linux-libre 4.19.286-gnu1
[releases.git] / arch / sparc / boot / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 # 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
7 ROOT_IMG        := /usr/src/root.img
8 ELFTOAOUT       := elftoaout
9
10 hostprogs-y     := piggyback
11 targets         := tftpboot.img image zImage vmlinux.aout
12 clean-files     := System.map
13
14 quiet_cmd_elftoaout     = ELFTOAOUT $@
15       cmd_elftoaout     = $(ELFTOAOUT) $(obj)/image -o $@
16 quiet_cmd_piggy         = PIGGY   $@
17       cmd_piggy         = $(obj)/piggyback $(BITS) $@ System.map $(ROOT_IMG)
18 quiet_cmd_strip         = STRIP   $@
19       cmd_strip         = $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $< -o $@
20
21 ifeq ($(CONFIG_SPARC64),y)
22
23 # Actual linking
24
25 $(obj)/zImage: $(obj)/image
26         $(call if_changed,gzip)
27         @echo '  kernel: $@ is ready'
28
29 $(obj)/vmlinux.aout: vmlinux FORCE
30         $(call if_changed,elftoaout)
31         @echo '  kernel: $@ is ready'
32 else
33
34 $(obj)/zImage: $(obj)/image
35         $(call if_changed,strip)
36         @echo '  kernel: $@ is ready'
37
38 # 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
43 OBJCOPYFLAGS_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
50 UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
51 UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
52 UIMAGE_COMPRESSION = gzip
53
54 quiet_cmd_uimage.o = UIMAGE.O $@
55       cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
56                      -r -b binary $@ -o $@.o
57
58 targets += uImage
59 $(obj)/uImage: $(obj)/image.gz
60         $(call if_changed,uimage)
61         $(call if_changed,uimage.o)
62         @echo '  Image $@ is ready'
63
64 endif
65
66 $(obj)/image: vmlinux FORCE
67         $(call if_changed,strip)
68         @echo '  kernel: $@ is ready'
69
70 $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE
71         $(call if_changed,elftoaout)
72         $(call if_changed,piggy)
73
74 install:
75         sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/zImage \
76                 System.map "$(INSTALL_PATH)"