diff options
Diffstat (limited to 'arch/sparc/Makefile')
-rw-r--r-- | arch/sparc/Makefile | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile new file mode 100644 index 00000000..eddcfb36 --- /dev/null +++ b/arch/sparc/Makefile @@ -0,0 +1,115 @@ +# +# sparc/Makefile +# +# Makefile for the architecture dependent flags and dependencies on the +# Sparc and sparc64. +# +# 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 +# + +# +# Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level +# debugging of the kernel to get the proper debugging information. + +AS := $(AS) -32 +LDFLAGS := -m elf32_sparc +CHECKFLAGS += -D__sparc__ +export BITS := 32 +UTS_MACHINE := sparc + +#KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7 +KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 +KBUILD_AFLAGS += -m32 -Wa,-Av8 + +#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 + +else +##### +# sparc64 +# + +CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64 + +LDFLAGS := -m elf64_sparc +export BITS := 64 +UTS_MACHINE := sparc64 + +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 + +head-y := arch/sparc/kernel/head_$(BITS).o +head-y += arch/sparc/kernel/init_task.o + +core-y += arch/sparc/kernel/ +core-y += arch/sparc/mm/ arch/sparc/math-emu/ + +libs-y += arch/sparc/prom/ +libs-y += arch/sparc/lib/ + +drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/ + +# Export what is needed by arch/sparc/boot/Makefile +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) + +ifdef CONFIG_KALLSYMS +export kallsyms.o := .tmp_kallsyms2.o +endif + +boot := arch/sparc/boot + +# Default target +all: zImage + +image zImage uImage tftpboot.img vmlinux.aout: vmlinux + $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ + +archclean: + $(Q)$(MAKE) $(clean)=$(boot) + +# This is the image used for packaging +KBUILD_IMAGE := $(boot)/zImage + +# Don't use tabs in echo arguments. +ifeq ($(ARCH),sparc) +define archhelp + echo '* image - kernel image ($(boot)/image)' + echo '* zImage - stripped kernel image ($(boot)/zImage)' + echo ' uImage - U-Boot SPARC32 Image (only for LEON)' + echo ' tftpboot.img - image prepared for tftp' +endef +else +define archhelp + echo '* vmlinux - standard sparc64 kernel' + echo '* zImage - stripped and compressed sparc64 kernel ($(boot)/zImage)' + echo ' vmlinux.aout - a.out kernel for sparc64' + echo ' tftpboot.img - image prepared for tftp' +endef +endif |