1 # SPDX-License-Identifier: GPL-2.0
5 # Makefile for the architecture dependent flags and dependencies on the
8 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu)
9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
11 # We are not yet configured - so test on arch
12 ifeq ($(ARCH
),sparc64
)
13 KBUILD_DEFCONFIG
:= sparc64_defconfig
15 KBUILD_DEFCONFIG
:= sparc32_defconfig
18 ifeq ($(CONFIG_SPARC32
),y
)
23 CHECKFLAGS
+= -D__sparc__
24 KBUILD_LDFLAGS
:= -m elf32_sparc
28 # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some
29 # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you
30 # give -mcpu=v8. This silently worked with older bintutils versions but
32 KBUILD_CFLAGS
+= -m32
-mcpu
=v8
-pipe
-mno-fpu
-fcall-used-g5
-fcall-used-g7
33 KBUILD_CFLAGS
+= -Wa
,-Av8
35 KBUILD_AFLAGS
+= -m32
-Wa
,-Av8
42 CHECKFLAGS
+= -D__sparc__
-D__sparc_v9__
-D__arch64__
43 KBUILD_LDFLAGS
:= -m elf64_sparc
45 UTS_MACHINE
:= sparc64
47 KBUILD_CFLAGS
+= -m64
-pipe
-mno-fpu
-mcpu
=ultrasparc
-mcmodel
=medlow
48 KBUILD_CFLAGS
+= -ffixed-g4
-ffixed-g5
-fcall-used-g7
-Wno-sign-compare
49 KBUILD_CFLAGS
+= -Wa
,--undeclared-regs
50 KBUILD_CFLAGS
+= $(call cc-option
,-mtune
=ultrasparc3
)
51 KBUILD_AFLAGS
+= -m64
-mcpu
=ultrasparc
-Wa
,--undeclared-regs
53 ifeq ($(CONFIG_MCOUNT
),y
)
59 head-y
:= arch
/sparc
/kernel
/head_
$(BITS
).o
61 # See arch/sparc/Kbuild for the core part of the kernel
64 libs-y
+= arch
/sparc
/prom
/
65 libs-y
+= arch
/sparc
/lib
/
67 drivers-
$(CONFIG_PM
) += arch
/sparc
/power
/
68 drivers-
$(CONFIG_OPROFILE
) += arch
/sparc
/oprofile
/
70 boot
:= arch
/sparc
/boot
75 image zImage uImage tftpboot.img vmlinux.aout
: vmlinux
76 $(Q
)$(MAKE
) $(build
)=$(boot
) $(boot
)/$@
79 $(Q
)$(MAKE
) $(build
)=$(boot
) $@
82 $(Q
)$(MAKE
) $(clean)=$(boot
)
85 $(Q
)$(MAKE
) $(build
)=arch
/sparc
/kernel
/syscalls
all
89 $(Q
)$(MAKE
) $(build
)=arch
/sparc
/vdso
$@
91 # This is the image used for packaging
92 KBUILD_IMAGE
:= $(boot
)/zImage
94 # Don't use tabs in echo arguments.
97 echo
'* image - kernel image ($(boot)/image)'
98 echo
'* zImage - stripped kernel image ($(boot)/zImage)'
99 echo
' uImage - U-Boot SPARC32 Image (only for LEON)'
100 echo
' tftpboot.img - image prepared for tftp'
104 echo
'* vmlinux - standard sparc64 kernel'
105 echo
'* zImage - stripped and compressed sparc64 kernel ($(boot)/zImage)'
106 echo
' vmlinux.aout - a.out kernel for sparc64'
107 echo
' tftpboot.img - image prepared for tftp'