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