1 # BK Id: %F% %I% %G% %U% %#% !! 1 # SPDX-License-Identifier: GPL-2.0 2 # 2 # 3 # This file is included by the global makefile !! 3 # sparc/Makefile 4 # architecture-specific flags and dependencies << 5 # 4 # 6 # This file is subject to the terms and condit !! 5 # Makefile for the architecture dependent flags and dependencies on the 7 # License. See the file "COPYING" in the main !! 6 # Sparc and sparc64. 8 # for more details. << 9 # 7 # 10 # Copyright (C) 1994 by Linus Torvalds !! 8 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) 11 # Modifications for the OpenRISC architecture: !! 9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) 12 # Copyright (C) 2003 Matjaz Breskvar <phoenix@b << 13 # Copyright (C) 2010-2011 Jonas Bonn <jonas@sou << 14 # << 15 # Based on: << 16 # arch/i386/Makefile << 17 << 18 KBUILD_DEFCONFIG := or1ksim_defconfig << 19 10 20 OBJCOPYFLAGS := -O binary -R .note -R .comm !! 11 # We are not yet configured - so test on arch 21 LIBGCC := $(shell $(CC) $(KBUILD_CFLA !! 12 ifeq ($(ARCH),sparc64) >> 13 KBUILD_DEFCONFIG := sparc64_defconfig >> 14 else >> 15 KBUILD_DEFCONFIG := sparc32_defconfig >> 16 endif 22 17 23 KBUILD_CFLAGS += -pipe -ffixed-r10 -D__linux !! 18 ifeq ($(CONFIG_SPARC32),y) 24 KBUILD_CFLAGS += -msfimm -mshftimm !! 19 ##### >> 20 # sparc32 >> 21 # 25 22 26 all: vmlinux.bin !! 23 CHECKFLAGS += -D__sparc__ >> 24 KBUILD_LDFLAGS := -m elf32_sparc >> 25 export BITS := 32 >> 26 UTS_MACHINE := sparc >> 27 >> 28 # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some >> 29 # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you >> 30 # give -mcpu=v8. This silently worked with older bintutils versions but >> 31 # does not any more. >> 32 KBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 >> 33 KBUILD_CFLAGS += -Wa,-Av8 27 34 28 boot := arch/$(ARCH)/boot !! 35 KBUILD_AFLAGS += -m32 -Wa,-Av8 29 36 30 ifeq ($(CONFIG_OPENRISC_HAVE_INST_MUL),y) << 31 KBUILD_CFLAGS += $(call cc-option,-mha << 32 else 37 else 33 KBUILD_CFLAGS += $(call cc-option,-mso !! 38 ##### 34 endif !! 39 # sparc64 >> 40 # 35 41 36 ifeq ($(CONFIG_OPENRISC_HAVE_INST_DIV),y) !! 42 CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ 37 KBUILD_CFLAGS += $(call cc-option,-mha !! 43 KBUILD_LDFLAGS := -m elf64_sparc 38 else !! 44 export BITS := 64 39 KBUILD_CFLAGS += $(call cc-option,-mso !! 45 UTS_MACHINE := sparc64 40 endif << 41 46 42 ifeq ($(CONFIG_OPENRISC_HAVE_INST_CMOV),y) !! 47 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow 43 KBUILD_CFLAGS += $(call cc-option,-mcm !! 48 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare 44 endif !! 49 KBUILD_CFLAGS += -Wa,--undeclared-regs >> 50 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) >> 51 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs 45 52 46 ifeq ($(CONFIG_OPENRISC_HAVE_INST_ROR),y) !! 53 ifeq ($(CONFIG_MCOUNT),y) 47 KBUILD_CFLAGS += $(call cc-option,-mro !! 54 KBUILD_CFLAGS += -pg 48 endif 55 endif 49 56 50 ifeq ($(CONFIG_OPENRISC_HAVE_INST_RORI),y) << 51 KBUILD_CFLAGS += $(call cc-option,-mro << 52 endif 57 endif 53 58 54 ifeq ($(CONFIG_OPENRISC_HAVE_INST_SEXT),y) !! 59 libs-y += arch/sparc/prom/ 55 KBUILD_CFLAGS += $(call cc-option,-mse !! 60 libs-y += arch/sparc/lib/ 56 endif !! 61 >> 62 drivers-$(CONFIG_PM) += arch/sparc/power/ >> 63 drivers-$(CONFIG_VIDEO) += arch/sparc/video/ 57 64 58 libs-y += $(LIBGCC) !! 65 boot := arch/sparc/boot 59 66 60 PHONY += vmlinux.bin !! 67 # Default target >> 68 all: zImage 61 69 62 vmlinux.bin: vmlinux !! 70 image zImage uImage tftpboot.img vmlinux.aout: vmlinux 63 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$ 71 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ >> 72 >> 73 install: >> 74 $(call cmd,install) >> 75 >> 76 archheaders: >> 77 $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all >> 78 >> 79 vdso-install-$(CONFIG_SPARC64) += arch/sparc/vdso/vdso64.so.dbg >> 80 vdso-install-$(CONFIG_COMPAT) += arch/sparc/vdso/vdso32.so.dbg >> 81 >> 82 # This is the image used for packaging >> 83 KBUILD_IMAGE := $(boot)/zImage >> 84 >> 85 # Don't use tabs in echo arguments. >> 86 define archhelp >> 87 echo '* vmlinux - standard SPARC kernel' >> 88 echo ' image - kernel image ($(boot)/image)' >> 89 echo '* zImage - stripped/compressed kernel image ($(boot)/zImage)' >> 90 echo ' uImage - U-Boot SPARC32 Image (only for LEON)' >> 91 echo ' vmlinux.aout - a.out kernel for SPARC64' >> 92 echo ' tftpboot.img - image prepared for tftp' >> 93 endef
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.