1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# alpha/Makefile 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# This file is subject to the terms and conditions of the GNU General Public 5*4882a593Smuzhiyun# License. See the file "COPYING" in the main directory of this archive 6*4882a593Smuzhiyun# for more details. 7*4882a593Smuzhiyun# 8*4882a593Smuzhiyun# Copyright (C) 1994 by Linus Torvalds 9*4882a593Smuzhiyun# 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunNM := $(NM) -B 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunLDFLAGS_vmlinux := -static -N #-relax 14*4882a593SmuzhiyunCHECKFLAGS += -D__alpha__ 15*4882a593Smuzhiyuncflags-y := -pipe -mno-fp-regs -ffixed-8 16*4882a593Smuzhiyuncflags-y += $(call cc-option, -fno-jump-tables) 17*4882a593Smuzhiyun 18*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 19*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5 20*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 21*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 22*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 23*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 24*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67 25*4882a593Smuzhiyun# If GENERIC, make sure to turn off any instruction set extensions that 26*4882a593Smuzhiyun# the host compiler might have on by default. Given that EV4 and EV5 27*4882a593Smuzhiyun# have the same instruction set, prefer EV5 because an EV5 schedule is 28*4882a593Smuzhiyun# more likely to keep an EV4 processor busy than vice-versa. 29*4882a593Smuzhiyuncpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5 30*4882a593Smuzhiyun 31*4882a593Smuzhiyuncflags-y += $(cpuflags-y) 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# For TSUNAMI, we must have the assembler not emulate our instructions. 35*4882a593Smuzhiyun# The same is true for IRONGATE, POLARIS, PYXIS. 36*4882a593Smuzhiyun# BWX is most important, but we don't really want any emulation ever. 37*4882a593SmuzhiyunKBUILD_CFLAGS += $(cflags-y) -Wa,-mev6 38*4882a593Smuzhiyun 39*4882a593Smuzhiyunhead-y := arch/alpha/kernel/head.o 40*4882a593Smuzhiyun 41*4882a593Smuzhiyuncore-y += arch/alpha/kernel/ arch/alpha/mm/ 42*4882a593Smuzhiyuncore-$(CONFIG_MATHEMU) += arch/alpha/math-emu/ 43*4882a593Smuzhiyundrivers-$(CONFIG_OPROFILE) += arch/alpha/oprofile/ 44*4882a593Smuzhiyunlibs-y += arch/alpha/lib/ 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun# export what is needed by arch/alpha/boot/Makefile 47*4882a593SmuzhiyunLIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) 48*4882a593Smuzhiyunexport LIBS_Y 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunboot := arch/alpha/boot 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun#Default target when executing make with no arguments 53*4882a593Smuzhiyunall boot: $(boot)/vmlinux.gz 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun$(boot)/vmlinux.gz: vmlinux 56*4882a593Smuzhiyun $(Q)$(MAKE) $(build)=$(boot) $@ 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunbootimage bootpfile bootpzfile: vmlinux 59*4882a593Smuzhiyun $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunarchclean: 62*4882a593Smuzhiyun $(Q)$(MAKE) $(clean)=$(boot) 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunarchheaders: 65*4882a593Smuzhiyun $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all 66*4882a593Smuzhiyun 67*4882a593Smuzhiyundefine archhelp 68*4882a593Smuzhiyun echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' 69*4882a593Smuzhiyun echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' 70*4882a593Smuzhiyun echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' 71*4882a593Smuzhiyun echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' 72*4882a593Smuzhiyunendef 73