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
7ROOT_IMG	:= /usr/src/root.img
8ELFTOAOUT	:= elftoaout
9
10hostprogs	:= piggyback
11targets		:= tftpboot.img image zImage vmlinux.aout
12clean-files	:= System.map
13
14quiet_cmd_elftoaout	= ELFTOAOUT $@
15      cmd_elftoaout	= $(ELFTOAOUT) $(obj)/image -o $@
16quiet_cmd_piggy		= PIGGY   $@
17      cmd_piggy		= $(obj)/piggyback $(BITS) $@ System.map $(ROOT_IMG)
18quiet_cmd_strip		= STRIP   $@
19      cmd_strip		= $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $< -o $@
20
21ifeq ($(CONFIG_SPARC64),y)
22
23# Actual linking
24
25$(obj)/zImage: $(obj)/image FORCE
26	$(call if_changed,gzip)
27	@$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')'
28
29$(obj)/vmlinux.aout: vmlinux FORCE
30	$(call if_changed,elftoaout)
31	@$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')'
32else
33
34$(obj)/zImage: $(obj)/image FORCE
35	$(call if_changed,strip)
36	@$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')'
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
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 FORCE
48	$(call if_changed,gzip)
49
50UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
51UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
52UIMAGE_COMPRESSION = gzip
53
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 FORCE
60	$(call if_changed,uimage)
61	$(call if_changed,uimage.o)
62	@$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')'
63
64endif
65
66$(obj)/image: vmlinux FORCE
67	$(call if_changed,strip)
68	@$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')'
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