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_32 piggyback_64 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
$@
16 ifeq ($(CONFIG_SPARC32
),y
)
17 quiet_cmd_piggy
= PIGGY
$@
18 cmd_piggy
= $(obj
)/piggyback_32
$@ System.map
$(ROOT_IMG
)
19 quiet_cmd_btfix
= BTFIX
$@
20 cmd_btfix
= $(OBJDUMP
) -x vmlinux |
$(obj
)/btfixupprep
> $@
21 quiet_cmd_sysmap
= SYSMAP
$(obj
)/System.map
22 cmd_sysmap
= $(CONFIG_SHELL
) $(srctree
)/scripts
/mksysmap
23 quiet_cmd_image
= LD
$@
24 cmd_image
= $(LD
) $(LDFLAGS
) $(EXTRA_LDFLAGS
) $(LDFLAGS_
$(@F
)) -o
$@
25 quiet_cmd_strip
= STRIP
$@
26 cmd_strip
= $(STRIP
) -R .comment
-R .note
-K sun4u_init
-K _end
-K _start
$(obj
)/image
-o
$@
30 $(if
$($(quiet
)cmd_image
), \
31 echo
' $($(quiet)cmd_image)' &&) \
33 $(if
$($(quiet
)cmd_sysmap
), \
34 echo
' $($(quiet)cmd_sysmap)' &&) \
35 $(cmd_sysmap
) $@
$(obj
)/System.map
; \
36 if
[ $$?
-ne
0 ]; then \
40 echo
'cmd_$@ := $(cmd_image)' > $(@D
)/.
$(@F
).cmd
43 BTOBJS
:= $(patsubst %/, %/built-in.o
, $(VMLINUX_INIT
))
44 BTLIBS
:= $(patsubst %/, %/built-in.o
, $(VMLINUX_MAIN
))
45 LDFLAGS_image
:= -T arch
/sparc
/kernel
/vmlinux.lds
$(BTOBJS
) \
46 --start-group
$(BTLIBS
) --end-group \
47 $(kallsyms.o
) $(obj
)/btfix.o
49 # Link the final image including btfixup'ed symbols.
50 # This is a replacement for the link done in the top-level Makefile.
51 # Note: No dependency on the prerequisite files since that would require
52 # make to try check if they are updated - and due to changes
53 # in gcc options (path for example) this would result in
54 # these files being recompiled for each build.
55 $(obj
)/image
: $(obj
)/btfix.o FORCE
56 $(call if_changed_rule
,image
)
58 $(obj
)/zImage
: $(obj
)/image
59 $(call if_changed
,strip)
61 $(obj
)/tftpboot.img
: $(obj
)/image
$(obj
)/piggyback_32 System.map
$(ROOT_IMG
) FORCE
62 $(call if_changed
,elftoaout
)
63 $(call if_changed
,piggy
)
65 $(obj
)/btfix.S
: $(obj
)/btfixupprep vmlinux FORCE
66 $(call if_changed
,btfix
)
70 ifeq ($(CONFIG_SPARC64
),y
)
71 quiet_cmd_piggy
= PIGGY
$@
72 cmd_piggy
= $(obj
)/piggyback_64
$@ System.map
$(ROOT_IMG
)
73 quiet_cmd_strip
= STRIP
$@
74 cmd_strip
= $(STRIP
) -R .comment
-R .note
-K sun4u_init
-K _end
-K _start vmlinux
-o
$@
78 $(obj
)/image
: vmlinux FORCE
79 $(call if_changed
,strip)
80 @echo
' kernel: $@ is ready'
82 $(obj
)/tftpboot.img
: $(obj
)/image
$(obj
)/piggyback_64 System.map
$(ROOT_IMG
) FORCE
83 $(call if_changed
,elftoaout
)
84 $(call if_changed
,piggy
)
85 @echo
' kernel: $@ is ready'
87 $(obj
)/vmlinux.aout
: vmlinux FORCE
88 $(call if_changed
,elftoaout
)
89 @echo
' kernel: $@ is ready'