xref: /OK3568_Linux_fs/kernel/arch/sparc/boot/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun# Makefile for the Sparc boot stuff.
3*4882a593Smuzhiyun#
4*4882a593Smuzhiyun# Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
5*4882a593Smuzhiyun# Copyright (C) 1997,1998 Jakub Jelinek (jj@ultra.linux.cz)
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunROOT_IMG	:= /usr/src/root.img
8*4882a593SmuzhiyunELFTOAOUT	:= elftoaout
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunhostprogs	:= piggyback
11*4882a593Smuzhiyuntargets		:= tftpboot.img image zImage vmlinux.aout
12*4882a593Smuzhiyunclean-files	:= System.map
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunquiet_cmd_elftoaout	= ELFTOAOUT $@
15*4882a593Smuzhiyun      cmd_elftoaout	= $(ELFTOAOUT) $(obj)/image -o $@
16*4882a593Smuzhiyunquiet_cmd_piggy		= PIGGY   $@
17*4882a593Smuzhiyun      cmd_piggy		= $(obj)/piggyback $(BITS) $@ System.map $(ROOT_IMG)
18*4882a593Smuzhiyunquiet_cmd_strip		= STRIP   $@
19*4882a593Smuzhiyun      cmd_strip		= $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $< -o $@
20*4882a593Smuzhiyun
21*4882a593Smuzhiyunifeq ($(CONFIG_SPARC64),y)
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun# Actual linking
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun$(obj)/zImage: $(obj)/image
26*4882a593Smuzhiyun	$(call if_changed,gzip)
27*4882a593Smuzhiyun	@echo '  kernel: $@ is ready'
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun$(obj)/vmlinux.aout: vmlinux FORCE
30*4882a593Smuzhiyun	$(call if_changed,elftoaout)
31*4882a593Smuzhiyun	@echo '  kernel: $@ is ready'
32*4882a593Smuzhiyunelse
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun$(obj)/zImage: $(obj)/image
35*4882a593Smuzhiyun	$(call if_changed,strip)
36*4882a593Smuzhiyun	@echo '  kernel: $@ is ready'
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun# The following lines make a readable image for U-Boot.
39*4882a593Smuzhiyun#  uImage   - Binary file read by U-boot
40*4882a593Smuzhiyun#  uImage.o - object file of uImage for loading with a
41*4882a593Smuzhiyun#             flash programmer understanding ELF.
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunOBJCOPYFLAGS_image.bin := -S -O binary -R .note -R .comment
44*4882a593Smuzhiyun$(obj)/image.bin: $(obj)/image FORCE
45*4882a593Smuzhiyun	$(call if_changed,objcopy)
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun$(obj)/image.gz: $(obj)/image.bin
48*4882a593Smuzhiyun	$(call if_changed,gzip)
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunUIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
51*4882a593SmuzhiyunUIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
52*4882a593SmuzhiyunUIMAGE_COMPRESSION = gzip
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunquiet_cmd_uimage.o = UIMAGE.O $@
55*4882a593Smuzhiyun      cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
56*4882a593Smuzhiyun                     -r -b binary $@ -o $@.o
57*4882a593Smuzhiyun
58*4882a593Smuzhiyuntargets += uImage
59*4882a593Smuzhiyun$(obj)/uImage: $(obj)/image.gz
60*4882a593Smuzhiyun	$(call if_changed,uimage)
61*4882a593Smuzhiyun	$(call if_changed,uimage.o)
62*4882a593Smuzhiyun	@echo '  Image $@ is ready'
63*4882a593Smuzhiyun
64*4882a593Smuzhiyunendif
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun$(obj)/image: vmlinux FORCE
67*4882a593Smuzhiyun	$(call if_changed,strip)
68*4882a593Smuzhiyun	@echo '  kernel: $@ is ready'
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun$(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE
71*4882a593Smuzhiyun	$(call if_changed,elftoaout)
72*4882a593Smuzhiyun	$(call if_changed,piggy)
73*4882a593Smuzhiyun
74*4882a593Smuzhiyuninstall:
75*4882a593Smuzhiyun	sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/zImage \
76*4882a593Smuzhiyun		System.map "$(INSTALL_PATH)"
77