Makefile 3.3 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
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/

S
Sam Ravnborg 已提交
79
libs-y                 += arch/sparc/prom/
S
Sam Ravnborg 已提交
80
libs-y                 += arch/sparc/lib/
L
Linus Torvalds 已提交
81

82 83
drivers-$(CONFIG_OPROFILE)	+= arch/sparc/oprofile/

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

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

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

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

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

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

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