linux/arch/sparc/Makefile
<<
>>
Prefs
   1#
   2# sparc/Makefile
   3#
   4# Makefile for the architecture dependent flags and dependencies on the
   5# Sparc and sparc64.
   6#
   7# Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu)
   8# Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
   9
  10# We are not yet configured - so test on arch
  11ifeq ($(ARCH),sparc)
  12        KBUILD_DEFCONFIG := sparc32_defconfig
  13else
  14        KBUILD_DEFCONFIG := sparc64_defconfig
  15endif
  16
  17ifeq ($(CONFIG_SPARC32),y)
  18#####
  19# sparc32
  20#
  21
  22#
  23# Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level
  24# debugging of the kernel to get the proper debugging information.
  25
  26AS             := $(AS) -32
  27LDFLAGS        := -m elf32_sparc
  28CHECKFLAGS     += -D__sparc__
  29export BITS    := 32
  30UTS_MACHINE    := sparc
  31
  32#KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
  33KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
  34KBUILD_AFLAGS += -m32
  35
  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".
  39LDFLAGS_vmlinux = -r
  40
  41else
  42#####
  43# sparc64
  44#
  45
  46CHECKFLAGS      += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64
  47
  48LDFLAGS              := -m elf64_sparc
  49export BITS          := 64
  50UTS_MACHINE          := sparc64
  51
  52KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow   \
  53                 -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \
  54                 -Wa,--undeclared-regs
  55KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3)
  56KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs
  57
  58ifeq ($(CONFIG_MCOUNT),y)
  59  KBUILD_CFLAGS += -pg
  60endif
  61
  62endif
  63
  64head-y                 := arch/sparc/kernel/head_$(BITS).o
  65head-y                 += arch/sparc/kernel/init_task.o
  66
  67core-y                 += arch/sparc/kernel/
  68core-y                 += arch/sparc/mm/ arch/sparc/math-emu/
  69
  70libs-y                 += arch/sparc/prom/
  71libs-y                 += arch/sparc/lib/
  72
  73drivers-$(CONFIG_OPROFILE)      += arch/sparc/oprofile/
  74
  75# Export what is needed by arch/sparc/boot/Makefile
  76export VMLINUX_INIT VMLINUX_MAIN
  77VMLINUX_INIT := $(head-y) $(init-y)
  78VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/
  79VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
  80VMLINUX_MAIN += $(drivers-y) $(net-y)
  81
  82ifdef CONFIG_KALLSYMS
  83export kallsyms.o := .tmp_kallsyms2.o
  84endif
  85
  86boot := arch/sparc/boot
  87
  88# Default target
  89all: zImage
  90
  91image zImage tftpboot.img vmlinux.aout: vmlinux
  92        $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
  93
  94archclean:
  95        $(Q)$(MAKE) $(clean)=$(boot)
  96
  97# This is the image used for packaging
  98KBUILD_IMAGE := $(boot)/zImage
  99
 100# Don't use tabs in echo arguments.
 101ifeq ($(ARCH),sparc)
 102define archhelp
 103  echo  '* image        - kernel image ($(boot)/image)'
 104  echo  '* zImage       - stripped kernel image ($(boot)/zImage)'
 105  echo  '  tftpboot.img - image prepared for tftp'
 106endef
 107else
 108define archhelp
 109  echo  '* vmlinux      - standard sparc64 kernel'
 110  echo  '* zImage       - stripped and compressed sparc64 kernel ($(boot)/zImage)'
 111  echo  '  vmlinux.aout - a.out kernel for sparc64'
 112  echo  '  tftpboot.img - image prepared for tftp'
 113endef
 114endif
 115