4 # Makefile for the architecture dependent flags and dependencies on the
7 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu)
8 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
10 # We are not yet configured - so test on arch
12 KBUILD_DEFCONFIG
:= sparc32_defconfig
14 KBUILD_DEFCONFIG
:= sparc64_defconfig
17 ifeq ($(CONFIG_SPARC32
),y
)
23 # Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level
24 # debugging of the kernel to get the proper debugging information.
27 LDFLAGS
:= -m elf32_sparc
28 CHECKFLAGS
+= -D__sparc__
31 #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
32 KBUILD_CFLAGS
+= -m32
-pipe
-mno-fpu
-fcall-used-g5
-fcall-used-g7
34 CPPFLAGS_vmlinux.lds
+= -m32
36 #LDFLAGS_vmlinux = -N -Ttext 0xf0004000
37 # Since 2.5.40, the first stage is left not btfix-ed.
38 # Actual linking is done with "make image".
50 CHECKFLAGS
+= -D__sparc__
-D__sparc_v9__
-D__arch64__
-m64
52 # Undefine sparc when processing vmlinux.lds - it is used
53 # And teach CPP we are doing 64 bit builds (for this case)
54 CPPFLAGS_vmlinux.lds
+= -m64
-Usparc
55 LDFLAGS
:= -m elf64_sparc
58 KBUILD_CFLAGS
+= -m64
-pipe
-mno-fpu
-mcpu
=ultrasparc
-mcmodel
=medlow \
59 -ffixed-g4
-ffixed-g5
-fcall-used-g7
-Wno-sign-compare \
61 KBUILD_CFLAGS
+= $(call cc-option
,-mtune
=ultrasparc3
)
62 KBUILD_AFLAGS
+= -m64
-mcpu
=ultrasparc
-Wa
,--undeclared-regs
64 ifeq ($(CONFIG_MCOUNT
),y
)
70 head-
$(CONFIG_SPARC32
) := arch
/sparc
/kernel
/head.o
71 head-
$(CONFIG_SPARC32
) += arch
/sparc
/kernel
/init_task.o
72 head-
$(CONFIG_SPARC64
) := arch
/sparc64
/kernel
/head.o
73 head-
$(CONFIG_SPARC64
) += arch
/sparc64
/kernel
/init_task.o
75 core-
$(CONFIG_SPARC32
) += arch
/sparc
/kernel
/
76 core-
$(CONFIG_SPARC64
) += arch
/sparc64
/kernel
/
77 core-y
+= arch
/sparc
/mm
/ arch
/sparc
/math-emu
/
79 libs-y
+= arch
/sparc
/prom
/
80 libs-y
+= arch
/sparc
/lib
/
82 drivers-
$(CONFIG_OPROFILE
) += arch
/sparc
/oprofile
/
84 # Export what is needed by arch/sparc/boot/Makefile
85 export VMLINUX_INIT VMLINUX_MAIN
86 VMLINUX_INIT
:= $(head-y
) $(init-y
)
87 VMLINUX_MAIN
:= $(core-y
) kernel
/ mm
/ fs
/ ipc
/ security
/ crypto
/ block
/
88 VMLINUX_MAIN
+= $(patsubst %/, %/lib.a
, $(libs-y
)) $(libs-y
)
89 VMLINUX_MAIN
+= $(drivers-y
) $(net-y
)
92 export kallsyms.o
:= .tmp_kallsyms2.o
95 boot-y
:= arch
/sparc
/boot
96 boot-
$(CONFIG_SPARC64
) := arch
/sparc64
/boot
98 image zImage tftpboot.img vmlinux.aout
: vmlinux
99 $(Q
)$(MAKE
) $(build
)=$(boot-y
) $(boot-y
)/$@
102 $(Q
)$(MAKE
) $(clean)=$(boot-y
)
104 # This is the image used for packaging
105 KBUILD_IMAGE
:= $(boot-y
)/zImage
107 # Don't use tabs in echo arguments.
110 echo
'* image - kernel image ($(boot)/image)'
111 echo
'* zImage - stripped kernel image ($(boot)/zImage)'
112 echo
' tftpboot.img - image prepared for tftp'
116 echo
'* vmlinux - Standard sparc64 kernel'
117 echo
' vmlinux.aout - a.out kernel for sparc64'
118 echo
' tftpboot.img - image prepared for tftp'