2005-04-17 02:20:36 +04:00
#
# sparc/Makefile
#
# Makefile for the architecture dependent flags and dependencies on the
2008-12-03 10:17:12 +03:00
# Sparc and sparc64.
2005-04-17 02:20:36 +04:00
#
2008-12-03 10:17:12 +03:00
# Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu)
# Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
# We are not yet configured - so test on arch
i f e q ( $( ARCH ) , s p a r c )
KBUILD_DEFCONFIG := sparc32_defconfig
e l s e
KBUILD_DEFCONFIG := sparc64_defconfig
e n d i f
i f e q ( $( CONFIG_SPARC 32) , y )
#####
# sparc32
2005-04-17 02:20:36 +04:00
#
#
2007-10-15 00:21:35 +04:00
# Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level
2005-04-17 02:20:36 +04:00
# debugging of the kernel to get the proper debugging information.
2008-11-17 07:04:20 +03:00
AS := $( AS) -32
LDFLAGS := -m elf32_sparc
CHECKFLAGS += -D__sparc__
export BITS := 32
2009-12-06 04:17:55 +03:00
UTS_MACHINE := sparc
2005-04-17 02:20:36 +04:00
2007-10-15 00:21:35 +04:00
#KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
2007-10-15 23:59:31 +04:00
KBUILD_AFLAGS += -m32
2005-04-17 02:20:36 +04:00
#LDFLAGS_vmlinux = -N -Ttext 0xf0004000
# Since 2.5.40, the first stage is left not btfix-ed.
# Actual linking is done with "make image".
LDFLAGS_vmlinux = -r
2008-12-03 10:17:12 +03:00
e l s e
#####
# sparc64
#
CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64
LDFLAGS := -m elf64_sparc
export BITS := 64
2009-12-06 04:17:55 +03:00
UTS_MACHINE := sparc64
2008-12-03 10:17:12 +03:00
KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu= ultrasparc -mcmodel= medlow \
-ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \
-Wa,--undeclared-regs
KBUILD_CFLAGS += $( call cc-option,-mtune= ultrasparc3)
KBUILD_AFLAGS += -m64 -mcpu= ultrasparc -Wa,--undeclared-regs
i f e q ( $( CONFIG_MCOUNT ) , y )
KBUILD_CFLAGS += -pg
e n d i f
e n d i f
2005-04-17 02:20:36 +04:00
2008-12-03 14:11:52 +03:00
head-y := arch/sparc/kernel/head_$( BITS) .o
2008-12-05 00:28:09 +03:00
head-y += arch/sparc/kernel/init_task.o
2008-12-03 10:17:12 +03:00
2008-12-03 14:11:52 +03:00
core-y += arch/sparc/kernel/
2008-12-03 10:17:12 +03:00
core-y += arch/sparc/mm/ arch/sparc/math-emu/
2008-11-30 09:16:52 +03:00
libs-y += arch/sparc/prom/
2008-12-03 14:10:25 +03:00
libs-y += arch/sparc/lib/
2005-04-17 02:20:36 +04:00
2006-10-18 06:21:48 +04:00
drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/
2005-04-17 02:20:36 +04:00
# Export what is needed by arch/sparc/boot/Makefile
2008-12-03 10:15:42 +03:00
export VMLINUX_INIT VMLINUX_MAIN
VMLINUX_INIT := $( head-y) $( init-y)
VMLINUX_MAIN := $( core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/
VMLINUX_MAIN += $( patsubst %/, %/lib.a, $( libs-y) ) $( libs-y)
VMLINUX_MAIN += $( drivers-y) $( net-y)
2005-04-17 02:20:36 +04:00
i f d e f C O N F I G _ K A L L S Y M S
2008-12-03 10:15:42 +03:00
export kallsyms.o := .tmp_kallsyms2.o
2005-04-17 02:20:36 +04:00
e n d i f
2008-12-03 14:14:26 +03:00
boot := arch/sparc/boot
2005-04-17 02:20:36 +04:00
2009-08-17 05:21:47 +04:00
# Default target
all : zImage
2008-12-03 10:17:12 +03:00
image zImage tftpboot.img vmlinux.aout : vmlinux
2008-12-03 14:14:26 +03:00
$( Q) $( MAKE) $( build) = $( boot) $( boot) /$@
2005-04-17 02:20:36 +04:00
archclean :
2008-12-03 14:14:26 +03:00
$( Q) $( MAKE) $( clean) = $( boot)
2005-04-17 02:20:36 +04:00
2008-08-19 09:37:18 +04:00
# This is the image used for packaging
2008-12-03 14:14:26 +03:00
KBUILD_IMAGE := $( boot) /zImage
2008-08-19 09:37:18 +04:00
2005-04-17 02:20:36 +04:00
# Don't use tabs in echo arguments.
2008-12-03 10:17:12 +03:00
i f e q ( $( ARCH ) , s p a r c )
2005-04-17 02:20:36 +04:00
d e f i n e a r c h h e l p
echo '* image - kernel image ($(boot)/image)'
2008-08-19 09:37:18 +04:00
echo '* zImage - stripped kernel image ($(boot)/zImage)'
2005-04-17 02:20:36 +04:00
echo ' tftpboot.img - image prepared for tftp'
e n d e f
2008-12-03 10:17:12 +03:00
e l s e
d e f i n e a r c h h e l p
2009-08-17 05:21:47 +04:00
echo '* vmlinux - standard sparc64 kernel'
echo '* zImage - stripped and compressed sparc64 kernel ($(boot)/zImage)'
echo ' vmlinux.aout - a.out kernel for sparc64'
2008-12-03 10:17:12 +03:00
echo ' tftpboot.img - image prepared for tftp'
e n d e f
e n d i f