18c2ecf20Sopenharmony_ci# 28c2ecf20Sopenharmony_ci# alpha/Makefile 38c2ecf20Sopenharmony_ci# 48c2ecf20Sopenharmony_ci# This file is subject to the terms and conditions of the GNU General Public 58c2ecf20Sopenharmony_ci# License. See the file "COPYING" in the main directory of this archive 68c2ecf20Sopenharmony_ci# for more details. 78c2ecf20Sopenharmony_ci# 88c2ecf20Sopenharmony_ci# Copyright (C) 1994 by Linus Torvalds 98c2ecf20Sopenharmony_ci# 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciNM := $(NM) -B 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciLDFLAGS_vmlinux := -static -N #-relax 148c2ecf20Sopenharmony_ciCHECKFLAGS += -D__alpha__ 158c2ecf20Sopenharmony_cicflags-y := -pipe -mno-fp-regs -ffixed-8 168c2ecf20Sopenharmony_cicflags-y += $(call cc-option, -fno-jump-tables) 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 198c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5 208c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 218c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 228c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 238c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 248c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67 258c2ecf20Sopenharmony_ci# If GENERIC, make sure to turn off any instruction set extensions that 268c2ecf20Sopenharmony_ci# the host compiler might have on by default. Given that EV4 and EV5 278c2ecf20Sopenharmony_ci# have the same instruction set, prefer EV5 because an EV5 schedule is 288c2ecf20Sopenharmony_ci# more likely to keep an EV4 processor busy than vice-versa. 298c2ecf20Sopenharmony_cicpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cicflags-y += $(cpuflags-y) 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci# For TSUNAMI, we must have the assembler not emulate our instructions. 358c2ecf20Sopenharmony_ci# The same is true for IRONGATE, POLARIS, PYXIS. 368c2ecf20Sopenharmony_ci# BWX is most important, but we don't really want any emulation ever. 378c2ecf20Sopenharmony_ciKBUILD_CFLAGS += $(cflags-y) -Wa,-mev6 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_cihead-y := arch/alpha/kernel/head.o 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_cicore-y += arch/alpha/kernel/ arch/alpha/mm/ 428c2ecf20Sopenharmony_cicore-$(CONFIG_MATHEMU) += arch/alpha/math-emu/ 438c2ecf20Sopenharmony_cidrivers-$(CONFIG_OPROFILE) += arch/alpha/oprofile/ 448c2ecf20Sopenharmony_cilibs-y += arch/alpha/lib/ 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci# export what is needed by arch/alpha/boot/Makefile 478c2ecf20Sopenharmony_ciLIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) 488c2ecf20Sopenharmony_ciexport LIBS_Y 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciboot := arch/alpha/boot 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci#Default target when executing make with no arguments 538c2ecf20Sopenharmony_ciall boot: $(boot)/vmlinux.gz 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci$(boot)/vmlinux.gz: vmlinux 568c2ecf20Sopenharmony_ci $(Q)$(MAKE) $(build)=$(boot) $@ 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_cibootimage bootpfile bootpzfile: vmlinux 598c2ecf20Sopenharmony_ci $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ciarchclean: 628c2ecf20Sopenharmony_ci $(Q)$(MAKE) $(clean)=$(boot) 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciarchheaders: 658c2ecf20Sopenharmony_ci $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_cidefine archhelp 688c2ecf20Sopenharmony_ci echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' 698c2ecf20Sopenharmony_ci echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' 708c2ecf20Sopenharmony_ci echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' 718c2ecf20Sopenharmony_ci echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' 728c2ecf20Sopenharmony_ciendef 73