Makefile 3.4 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 71 72 73 74 75 76 77 78 79 80 81 82
head-$(CONFIG_SPARC32) := arch/sparc/kernel/head.o
head-$(CONFIG_SPARC32) += arch/sparc/kernel/init_task.o
head-$(CONFIG_SPARC64) := arch/sparc64/kernel/head.o
head-$(CONFIG_SPARC64) += arch/sparc64/kernel/init_task.o

core-$(CONFIG_SPARC32) += arch/sparc/kernel/
core-$(CONFIG_SPARC64) += arch/sparc64/kernel/
core-y                 += arch/sparc/mm/ arch/sparc/math-emu/

libs-$(CONFIG_SPARC32) += arch/sparc/prom/
libs-$(CONFIG_SPARC32) += arch/sparc/lib/
libs-$(CONFIG_SPARC64) += arch/sparc64/prom/
libs-$(CONFIG_SPARC64) += arch/sparc64/lib/
L
Linus Torvalds 已提交
83

84 85
drivers-$(CONFIG_OPROFILE)	+= arch/sparc/oprofile/

L
Linus Torvalds 已提交
86
# Export what is needed by arch/sparc/boot/Makefile
S
Sam Ravnborg 已提交
87 88 89 90 91
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 已提交
92 93

ifdef CONFIG_KALLSYMS
S
Sam Ravnborg 已提交
94
export kallsyms.o := .tmp_kallsyms2.o
L
Linus Torvalds 已提交
95 96
endif

S
Sam Ravnborg 已提交
97 98
boot-y                 := arch/sparc/boot
boot-$(CONFIG_SPARC64) := arch/sparc64/boot
L
Linus Torvalds 已提交
99

S
Sam Ravnborg 已提交
100 101
image zImage tftpboot.img vmlinux.aout: vmlinux
	$(Q)$(MAKE) $(build)=$(boot-y) $(boot-y)/$@
L
Linus Torvalds 已提交
102 103

archclean:
S
Sam Ravnborg 已提交
104
	$(Q)$(MAKE) $(clean)=$(boot-y)
L
Linus Torvalds 已提交
105

106
# This is the image used for packaging
S
Sam Ravnborg 已提交
107
KBUILD_IMAGE := $(boot-y)/zImage
108

L
Linus Torvalds 已提交
109
# Don't use tabs in echo arguments.
S
Sam Ravnborg 已提交
110
ifeq ($(ARCH),sparc)
L
Linus Torvalds 已提交
111 112
define archhelp
  echo  '* image        - kernel image ($(boot)/image)'
113
  echo  '* zImage       - stripped kernel image ($(boot)/zImage)'
L
Linus Torvalds 已提交
114 115
  echo  '  tftpboot.img - image prepared for tftp'
endef
S
Sam Ravnborg 已提交
116 117 118 119 120 121 122
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