162306a36Sopenharmony_ci# 262306a36Sopenharmony_ci# alpha/Makefile 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# This file is subject to the terms and conditions of the GNU General Public 562306a36Sopenharmony_ci# License. See the file "COPYING" in the main directory of this archive 662306a36Sopenharmony_ci# for more details. 762306a36Sopenharmony_ci# 862306a36Sopenharmony_ci# Copyright (C) 1994 by Linus Torvalds 962306a36Sopenharmony_ci# 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciNM := $(NM) -B 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciLDFLAGS_vmlinux := -static -N #-relax 1462306a36Sopenharmony_ciCHECKFLAGS += -D__alpha__ 1562306a36Sopenharmony_cicflags-y := -pipe -mno-fp-regs -ffixed-8 1662306a36Sopenharmony_cicflags-y += $(call cc-option, -fno-jump-tables) 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 1962306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5 2062306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 2162306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 2262306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 2362306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 2462306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67 2562306a36Sopenharmony_ci# If GENERIC, make sure to turn off any instruction set extensions that 2662306a36Sopenharmony_ci# the host compiler might have on by default. Given that EV4 and EV5 2762306a36Sopenharmony_ci# have the same instruction set, prefer EV5 because an EV5 schedule is 2862306a36Sopenharmony_ci# more likely to keep an EV4 processor busy than vice-versa. 2962306a36Sopenharmony_cicpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cicflags-y += $(cpuflags-y) 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci# For TSUNAMI, we must have the assembler not emulate our instructions. 3562306a36Sopenharmony_ci# The same is true for IRONGATE, POLARIS, PYXIS. 3662306a36Sopenharmony_ci# BWX is most important, but we don't really want any emulation ever. 3762306a36Sopenharmony_ciKBUILD_CFLAGS += $(cflags-y) -Wa,-mev6 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_cilibs-y += arch/alpha/lib/ 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci# export what is needed by arch/alpha/boot/Makefile 4262306a36Sopenharmony_ciLIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) 4362306a36Sopenharmony_ciexport LIBS_Y 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciboot := arch/alpha/boot 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci#Default target when executing make with no arguments 4862306a36Sopenharmony_ciall boot: $(boot)/vmlinux.gz 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci$(boot)/vmlinux.gz: vmlinux 5162306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=$(boot) $@ 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_cibootimage bootpfile bootpzfile: vmlinux 5462306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciarchheaders: 5762306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_cidefine archhelp 6062306a36Sopenharmony_ci echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' 6162306a36Sopenharmony_ci echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' 6262306a36Sopenharmony_ci echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' 6362306a36Sopenharmony_ci echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' 6462306a36Sopenharmony_ciendef 65