1 # SPDX-License-Identifier: GPL-2.0 !! 1 # 2 # Makefile for the Hexagon arch !! 2 # alpha/Makefile 3 !! 3 # 4 KBUILD_DEFCONFIG = comet_defconfig !! 4 # This file is subject to the terms and conditions of the GNU General Public 5 !! 5 # License. See the file "COPYING" in the main directory of this archive 6 # Do not use GP-relative jumps !! 6 # for more details. 7 KBUILD_CFLAGS += -G0 !! 7 # 8 LDFLAGS_vmlinux += -G0 !! 8 # Copyright (C) 1994 by Linus Torvalds 9 !! 9 # 10 # Do not use single-byte enums; these will ove !! 10 11 KBUILD_CFLAGS += -fno-short-enums !! 11 NM := $(NM) -B 12 !! 12 13 # We must use long-calls: !! 13 LDFLAGS_vmlinux := -static -N #-relax 14 KBUILD_CFLAGS += -mlong-calls !! 14 CHECKFLAGS += -D__alpha__ 15 !! 15 cflags-y := -pipe -mno-fp-regs -ffixed-8 16 # Modules must use either long-calls, or use p !! 16 cflags-y += $(call cc-option, -fno-jump-tables) 17 # Use long-calls for now, it's easier. And fa !! 17 18 # KBUILD_CFLAGS_MODULE += -fPIC !! 18 cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 19 # KBUILD_LDFLAGS_MODULE += -shared !! 19 cpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5 20 KBUILD_CFLAGS_MODULE += -mlong-calls !! 20 cpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 21 !! 21 cpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 22 cflags-y += $(call cc-option,-mv${CONFIG_HEXAG !! 22 cpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 23 aflags-y += $(call cc-option,-mv${CONFIG_HEXAG !! 23 cpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 24 ldflags-y += $(call cc-option,-mv${CONFIG_HEXA !! 24 cpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67 25 !! 25 # If GENERIC, make sure to turn off any instruction set extensions that 26 KBUILD_CFLAGS += $(cflags-y) !! 26 # the host compiler might have on by default. Given that EV4 and EV5 27 KBUILD_AFLAGS += $(aflags-y) !! 27 # have the same instruction set, prefer EV5 because an EV5 schedule is 28 KBUILD_LDFLAGS += $(ldflags-y) !! 28 # more likely to keep an EV4 processor busy than vice-versa. 29 !! 29 cpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5 30 # Thread-info register will be r19. This valu !! 30 31 # it is hard-coded in several files. !! 31 cflags-y += $(cpuflags-y) 32 TIR_NAME := r19 !! 32 33 KBUILD_CFLAGS += -ffixed-$(TIR_NAME) -DTHREADI !! 33 34 KBUILD_AFLAGS += -DTHREADINFO_REG=$(TIR_NAME) !! 34 # For TSUNAMI, we must have the assembler not emulate our instructions. >> 35 # The same is true for IRONGATE, POLARIS, PYXIS. >> 36 # BWX is most important, but we don't really want any emulation ever. >> 37 KBUILD_CFLAGS += $(cflags-y) -Wa,-mev6 >> 38 >> 39 head-y := arch/alpha/kernel/head.o >> 40 >> 41 core-y += arch/alpha/kernel/ arch/alpha/mm/ >> 42 core-$(CONFIG_MATHEMU) += arch/alpha/math-emu/ >> 43 libs-y += arch/alpha/lib/ >> 44 >> 45 # export what is needed by arch/alpha/boot/Makefile >> 46 LIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) >> 47 export LIBS_Y >> 48 >> 49 boot := arch/alpha/boot >> 50 >> 51 #Default target when executing make with no arguments >> 52 all boot: $(boot)/vmlinux.gz >> 53 >> 54 $(boot)/vmlinux.gz: vmlinux >> 55 $(Q)$(MAKE) $(build)=$(boot) $@ >> 56 >> 57 bootimage bootpfile bootpzfile: vmlinux >> 58 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ >> 59 >> 60 archclean: >> 61 $(Q)$(MAKE) $(clean)=$(boot) >> 62 >> 63 archheaders: >> 64 $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all >> 65 >> 66 define archhelp >> 67 echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' >> 68 echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' >> 69 echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' >> 70 echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' >> 71 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.