1 # Makefile for the Sparc boot stuff.
3 # Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
4 # Copyright (C) 1997,1998 Jakub Jelinek (jj@ultra.linux.cz)
6 ROOT_IMG
:= /usr
/src
/root.img
9 hostprogs-y
:= piggyback btfixupprep
10 targets
:= tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
11 clean-files
:= System.map
13 quiet_cmd_elftoaout
= ELFTOAOUT
$@
14 cmd_elftoaout
= $(ELFTOAOUT
) $(obj
)/image
-o
$@
15 quiet_cmd_piggy
= PIGGY
$@
16 cmd_piggy
= $(obj
)/piggyback
$(BITS
) $@ System.map
$(ROOT_IMG
)
17 quiet_cmd_strip
= STRIP
$@
18 cmd_strip
= $(STRIP
) -R .comment
-R .note
-K sun4u_init
-K _end
-K _start
$< -o
$@
20 ifeq ($(CONFIG_SPARC32
),y
)
21 quiet_cmd_btfix
= BTFIX
$@
22 cmd_btfix
= $(OBJDUMP
) -x vmlinux |
$(obj
)/btfixupprep
> $@
23 quiet_cmd_sysmap
= SYSMAP
$(obj
)/System.map
24 cmd_sysmap
= $(CONFIG_SHELL
) $(srctree
)/scripts
/mksysmap
25 quiet_cmd_image
= LD
$@
26 cmd_image
= $(LD
) $(LDFLAGS
) $(EXTRA_LDFLAGS
) $(LDFLAGS_
$(@F
)) -o
$@
29 $(if
$($(quiet
)cmd_image
), \
30 echo
' $($(quiet)cmd_image)' &&) \
32 $(if
$($(quiet
)cmd_sysmap
), \
33 echo
' $($(quiet)cmd_sysmap)' &&) \
34 $(cmd_sysmap
) $@
$(obj
)/System.map
; \
35 if
[ $$?
-ne
0 ]; then \
39 echo
'cmd_$@ := $(cmd_image)' > $(@D
)/.
$(@F
).cmd
42 # Support for kallsyms
43 kallsyms-
$(CONFIG_KALLSYMS
) := .tmp_kallsyms2.o
44 ifdef KALLSYMS_EXTRA_PASS
45 kallsyms-
$(CONFIG_KALLSYMS
) := .tmp_kallsyms3.o
48 LDFLAGS_image
:= -T
$(KBUILD_LDS
) $(KBUILD_VMLINUX_INIT
) \
49 --start-group
$(KBUILD_VMLINUX_MAIN
) --end-group \
50 $(kallsyms-y
) $(obj
)/btfix.o
52 # Link the final image including btfixup'ed symbols.
53 # This is a replacement for the link done in the top-level Makefile.
54 # Note: No dependency on the prerequisite files since that would require
55 # make to try check if they are updated - and due to changes
56 # in gcc options (path for example) this would result in
57 # these files being recompiled for each build.
58 $(obj
)/image
: $(obj
)/btfix.o FORCE
59 $(call if_changed_rule
,image
)
61 $(obj
)/zImage
: $(obj
)/image
62 $(call if_changed
,strip)
63 @echo
' kernel: $@ is ready'
65 $(obj
)/btfix.S
: $(obj
)/btfixupprep vmlinux FORCE
66 $(call if_changed
,btfix
)
70 ifeq ($(CONFIG_SPARC64
),y
)
73 $(obj
)/image
: vmlinux FORCE
74 $(call if_changed
,strip)
75 @echo
' kernel: $@ is ready'
77 $(obj
)/zImage
: $(obj
)/image
78 $(call if_changed
,gzip
)
79 @echo
' kernel: $@ is ready'
81 $(obj
)/vmlinux.aout
: vmlinux FORCE
82 $(call if_changed
,elftoaout
)
83 @echo
' kernel: $@ is ready'
86 # The following lines make a readable image for U-Boot.
87 # uImage - Binary file read by U-boot
88 # uImage.o - object file of uImage for loading with a
89 # flash programmer understanding ELF.
91 OBJCOPYFLAGS_image.bin
:= -S
-O binary
-R .note
-R .comment
92 $(obj
)/image.bin
: $(obj
)/image FORCE
93 $(call if_changed
,objcopy
)
95 $(obj
)/image.gz
: $(obj
)/image.bin
96 $(call if_changed
,gzip
)
98 UIMAGE_LOADADDR
= $(CONFIG_UBOOT_LOAD_ADDR
)
99 UIMAGE_ENTRYADDR
= $(CONFIG_UBOOT_ENTRY_ADDR
)
100 UIMAGE_COMPRESSION
= gzip
102 quiet_cmd_uimage.o
= UIMAGE.O
$@
103 cmd_uimage.o
= $(LD
) -Tdata
$(CONFIG_UBOOT_FLASH_ADDR
) \
104 -r
-b binary
$@
-o
$@.o
107 $(obj
)/uImage
: $(obj
)/image.gz
108 $(call if_changed
,uimage
)
109 $(call if_changed
,uimage.o
)
110 @echo
' Image $@ is ready'
114 $(obj
)/tftpboot.img
: $(obj
)/image
$(obj
)/piggyback System.map
$(ROOT_IMG
) FORCE
115 $(call if_changed
,elftoaout
)
116 $(call if_changed
,piggy
)