Makefile 3.1 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4
#
# sparc/Makefile
#
# Makefile for the architecture dependent flags and dependencies on the
S
Sam Ravnborg 已提交
5
# Sparc and sparc64.
L
Linus Torvalds 已提交
6
#
S
Sam Ravnborg 已提交
7 8 9 10 11 12 13 14 15 16 17 18 19
# 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
ifeq ($(ARCH),sparc)
        KBUILD_DEFCONFIG := sparc32_defconfig
else
        KBUILD_DEFCONFIG := sparc64_defconfig
endif

ifeq ($(CONFIG_SPARC32),y)
#####
# sparc32
L
Linus Torvalds 已提交
20 21 22
#

#
23
# Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level
L
Linus Torvalds 已提交
24 25
# debugging of the kernel to get the proper debugging information.

26 27 28 29
AS             := $(AS) -32
LDFLAGS        := -m elf32_sparc
CHECKFLAGS     += -D__sparc__
export BITS    := 32
L
Linus Torvalds 已提交
30

31 32
#KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
33
KBUILD_AFLAGS += -m32
34
CPPFLAGS_vmlinux.lds += -m32
L
Linus Torvalds 已提交
35 36 37 38 39 40

#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

S
Sam Ravnborg 已提交
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
# Default target
all: zImage


else
#####
# sparc64
#

CHECKFLAGS      += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64

# Undefine sparc when processing vmlinux.lds - it is used
# And teach CPP we are doing 64 bit builds (for this case)
CPPFLAGS_vmlinux.lds += -m64 -Usparc
LDFLAGS              := -m elf64_sparc
export BITS          := 64

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

ifeq ($(CONFIG_MCOUNT),y)
  KBUILD_CFLAGS += -pg
endif

endif
L
Linus Torvalds 已提交
69

S
Sam Ravnborg 已提交
70
head-y                 := arch/sparc/kernel/head_$(BITS).o
S
Sam Ravnborg 已提交
71
head-y                 += arch/sparc/kernel/init_task.o
S
Sam Ravnborg 已提交
72

S
Sam Ravnborg 已提交
73
core-y                 += arch/sparc/kernel/
S
Sam Ravnborg 已提交
74 75
core-y                 += arch/sparc/mm/ arch/sparc/math-emu/

S
Sam Ravnborg 已提交
76
libs-y                 += arch/sparc/prom/
S
Sam Ravnborg 已提交
77
libs-y                 += arch/sparc/lib/
L
Linus Torvalds 已提交
78

79 80
drivers-$(CONFIG_OPROFILE)	+= arch/sparc/oprofile/

L
Linus Torvalds 已提交
81
# Export what is needed by arch/sparc/boot/Makefile
S
Sam Ravnborg 已提交
82 83 84 85 86
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)
L
Linus Torvalds 已提交
87 88

ifdef CONFIG_KALLSYMS
S
Sam Ravnborg 已提交
89
export kallsyms.o := .tmp_kallsyms2.o
L
Linus Torvalds 已提交
90 91
endif

S
Sam Ravnborg 已提交
92
boot := arch/sparc/boot
L
Linus Torvalds 已提交
93

S
Sam Ravnborg 已提交
94
image zImage tftpboot.img vmlinux.aout: vmlinux
S
Sam Ravnborg 已提交
95
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
L
Linus Torvalds 已提交
96 97

archclean:
S
Sam Ravnborg 已提交
98
	$(Q)$(MAKE) $(clean)=$(boot)
L
Linus Torvalds 已提交
99

100
# This is the image used for packaging
S
Sam Ravnborg 已提交
101
KBUILD_IMAGE := $(boot)/zImage
102

L
Linus Torvalds 已提交
103
# Don't use tabs in echo arguments.
S
Sam Ravnborg 已提交
104
ifeq ($(ARCH),sparc)
L
Linus Torvalds 已提交
105 106
define archhelp
  echo  '* image        - kernel image ($(boot)/image)'
107
  echo  '* zImage       - stripped kernel image ($(boot)/zImage)'
L
Linus Torvalds 已提交
108 109
  echo  '  tftpboot.img - image prepared for tftp'
endef
S
Sam Ravnborg 已提交
110 111 112 113 114 115 116
else
define archhelp
  echo  '* vmlinux       - Standard sparc64 kernel'
  echo  '  vmlinux.aout  - a.out kernel for sparc64'
  echo  '  tftpboot.img - image prepared for tftp'
endef
endif