1 # SPDX-License-Identifier: GPL-2.0 !! 1 # $Id: Makefile,v 1.52 2002/02/09 19:49:31 davem Exp $ 2 # !! 2 # sparc64/Makefile 3 # sparc/Makefile << 4 # 3 # 5 # Makefile for the architecture dependent flag 4 # Makefile for the architecture dependent flags and dependencies on the 6 # Sparc and sparc64. !! 5 # 64-bit Sparc. 7 # 6 # 8 # Copyright (C) 1994,1996,1998 David S. Miller !! 7 # Copyright (C) 1996,1998 David S. Miller (davem@caip.rutgers.edu) 9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.l 8 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) 10 << 11 # We are not yet configured - so test on arch << 12 ifeq ($(ARCH),sparc64) << 13 KBUILD_DEFCONFIG := sparc64_defconfig << 14 else << 15 KBUILD_DEFCONFIG := sparc32_defconfig << 16 endif << 17 << 18 ifeq ($(CONFIG_SPARC32),y) << 19 ##### << 20 # sparc32 << 21 # 9 # 22 10 23 CHECKFLAGS += -D__sparc__ !! 11 AFLAGS_vmlinux.lds.o += -Usparc 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 d << 29 # versions of gcc. Some gcc versions won't pa << 30 # give -mcpu=v8. This silently worked with ol << 31 # does not any more. << 32 KBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu << 33 KBUILD_CFLAGS += -Wa,-Av8 << 34 12 35 KBUILD_AFLAGS += -m32 -Wa,-Av8 !! 13 CC := $(shell if gcc -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo gcc; else echo sparc64-linux-gcc; fi ) 36 14 >> 15 NEW_GCC := $(shell if $(CC) -m64 -mcmodel=medlow -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; ) >> 16 NEW_GAS := $(shell if $(LD) -V 2>&1 | grep 'elf64_sparc' > /dev/null; then echo y; else echo n; fi) >> 17 UNDECLARED_REGS := $(shell if $(CC) -c -x assembler /dev/null -Wa,--help | grep undeclared-regs > /dev/null; then echo y; else echo n; fi; ) >> 18 INLINE_LIMIT := $(shell if $(CC) -m64 -finline-limit=100000 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; ) >> 19 >> 20 export NEW_GCC >> 21 >> 22 ifneq ($(NEW_GAS),y) >> 23 AS = sparc64-linux-as >> 24 LD = sparc64-linux-ld >> 25 NM = sparc64-linux-nm >> 26 AR = sparc64-linux-ar >> 27 RANLIB = sparc64-linux-ranlib 37 else 28 else 38 ##### !! 29 AS := $(AS) -64 39 # sparc64 !! 30 LDFLAGS := -m elf64_sparc 40 # << 41 << 42 CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D << 43 KBUILD_LDFLAGS := -m elf64_sparc << 44 export BITS := 64 << 45 UTS_MACHINE := sparc64 << 46 << 47 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ult << 48 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall- << 49 KBUILD_CFLAGS += -Wa,--undeclared-regs << 50 KBUILD_CFLAGS += $(call cc-option,-mtune=ultra << 51 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--u << 52 << 53 ifeq ($(CONFIG_MCOUNT),y) << 54 KBUILD_CFLAGS += -pg << 55 endif 31 endif 56 32 >> 33 ifneq ($(UNDECLARED_REGS),y) >> 34 CC_UNDECL = >> 35 else >> 36 CC_UNDECL = -Wa,--undeclared-regs >> 37 AS := $(AS) --undeclared-regs 57 endif 38 endif 58 39 59 libs-y += arch/sparc/prom/ !! 40 ifneq ($(NEW_GCC),y) 60 libs-y += arch/sparc/lib/ !! 41 CFLAGS := $(CFLAGS) -pipe -mno-fpu -mtune=ultrasparc -mmedlow \ >> 42 -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare >> 43 else >> 44 CFLAGS := $(CFLAGS) -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \ >> 45 -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare \ >> 46 $(CC_UNDECL) >> 47 AFLAGS += -m64 -mcpu=ultrasparc $(CC_UNDECL) >> 48 endif 61 49 62 drivers-$(CONFIG_PM) += arch/sparc/power/ !! 50 ifeq ($(INLINE_LIMIT),y) 63 drivers-$(CONFIG_VIDEO) += arch/sparc/video/ !! 51 CFLAGS := $(CFLAGS) -finline-limit=100000 >> 52 endif 64 53 65 boot := arch/sparc/boot !! 54 ifeq ($(CONFIG_MCOUNT),y) >> 55 CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS)) >> 56 CFLAGS := $(CFLAGS) -pg >> 57 endif 66 58 67 # Default target !! 59 head-y := arch/sparc64/kernel/head.o arch/sparc64/kernel/init_task.o 68 all: zImage << 69 60 70 image zImage uImage tftpboot.img vmlinux.aout: !! 61 core-y += arch/sparc64/kernel/ arch/sparc64/mm/ 71 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$ !! 62 core-$(CONFIG_SOLARIS_EMUL) += arch/sparc64/solaris/ >> 63 core-y += arch/sparc64/math-emu/ >> 64 libs-y += arch/sparc64/prom/ arch/sparc64/lib/ 72 65 73 install: !! 66 # FIXME: is drivers- right? 74 $(call cmd,install) !! 67 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ 75 68 76 archheaders: !! 69 boot := arch/sparc64/boot 77 $(Q)$(MAKE) $(build)=arch/sparc/kernel << 78 70 79 vdso-install-$(CONFIG_SPARC64) += arch/sparc/ !! 71 image tftpboot.img vmlinux.aout: vmlinux 80 vdso-install-$(CONFIG_COMPAT) += arch/sparc/ !! 72 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 81 73 82 # This is the image used for packaging !! 74 archclean: 83 KBUILD_IMAGE := $(boot)/zImage !! 75 $(Q)$(MAKE) $(clean)=$(boot) 84 76 85 # Don't use tabs in echo arguments. << 86 define archhelp 77 define archhelp 87 echo '* vmlinux - standard SPARC kerne !! 78 echo '* vmlinux - Standard sparc64 kernel' 88 echo ' image - kernel image ($(boot !! 79 echo ' vmlinux.aout - a.out kernel for sparc64' 89 echo '* zImage - stripped/compressed !! 80 echo ' tftpboot.img - Image prepared for tftp' 90 echo ' uImage - U-Boot SPARC32 Image << 91 echo ' vmlinux.aout - a.out kernel for SPA << 92 echo ' tftpboot.img - image prepared for t << 93 endef 81 endef >> 82
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.