123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #
- # 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
|