1 # 1 # >> 2 # alpha/Makefile >> 3 # 2 # This file is subject to the terms and condit 4 # This file is subject to the terms and conditions of the GNU General Public 3 # License. See the file "COPYING" in the main 5 # License. See the file "COPYING" in the main directory of this archive 4 # for more details. 6 # for more details. 5 # 7 # 6 # Copyright (C) 2001 - 2005 Tensilica Inc. !! 8 # Copyright (C) 1994 by Linus Torvalds 7 # Copyright (C) 2014 Cadence Design Systems In << 8 # 9 # 9 # This file is included by the global makefile << 10 # architecture-specific flags and dependencies << 11 << 12 # Core configuration. << 13 # (Use VAR=<xtensa_config> to use another defa << 14 << 15 variant-y := $(CONFIG_XTENSA_VARIANT_NAME) << 16 10 17 VARIANT = $(variant-y) !! 11 KBUILD_DEFCONFIG := defconfig 18 12 19 ifneq ($(VARIANT),) !! 13 NM := $(NM) -B 20 ifdef cross_compiling << 21 ifndef CROSS_COMPILE << 22 CROSS_COMPILE = xtensa_$(VARIANT)- << 23 endif << 24 endif << 25 endif << 26 14 27 # Platform configuration !! 15 LDFLAGS_vmlinux := -static -N #-relax >> 16 CHECKFLAGS += -D__alpha__ >> 17 cflags-y := -pipe -mno-fp-regs -ffixed-8 >> 18 cflags-y += $(call cc-option, -fno-jump-tables) 28 19 29 platform-$(CONFIG_XTENSA_PLATFORM_XT2000) !! 20 cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 30 platform-$(CONFIG_XTENSA_PLATFORM_ISS) !! 21 cpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5 31 platform-$(CONFIG_XTENSA_PLATFORM_XTFPGA) !! 22 cpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 >> 23 cpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 >> 24 cpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 >> 25 cpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 >> 26 cpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67 >> 27 # If GENERIC, make sure to turn off any instruction set extensions that >> 28 # the host compiler might have on by default. Given that EV4 and EV5 >> 29 # have the same instruction set, prefer EV5 because an EV5 schedule is >> 30 # more likely to keep an EV4 processor busy than vice-versa. >> 31 cpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5 32 32 33 # temporarily until string.h is fixed !! 33 cflags-y += $(cpuflags-y) 34 KBUILD_CFLAGS += -ffreestanding -D__linux__ << 35 KBUILD_CFLAGS += -pipe -mlongcalls -mtext-sect << 36 KBUILD_CFLAGS += $(call cc-option,-mforce-no-p << 37 KBUILD_CFLAGS += $(call cc-option,-mno-seriali << 38 KBUILD_CFLAGS += $(call cc-option,-mno-fdpic,) << 39 ifneq ($(CONFIG_KERNEL_ABI_CALL0),) << 40 KBUILD_CFLAGS += -mabi=call0 << 41 KBUILD_AFLAGS += -mabi=call0 << 42 endif << 43 34 44 KBUILD_AFLAGS += -mlongcalls -mtext-section-li << 45 KBUILD_AFLAGS += $(call cc-option,-mno-fdpic,) << 46 35 47 KBUILD_LDFLAGS += -m elf32xtensa !! 36 # For TSUNAMI, we must have the assembler not emulate our instructions. >> 37 # The same is true for IRONGATE, POLARIS, PYXIS. >> 38 # BWX is most important, but we don't really want any emulation ever. >> 39 KBUILD_CFLAGS += $(cflags-y) -Wa,-mev6 48 40 49 ifneq ($(CONFIG_LD_NO_RELAX),) !! 41 head-y := arch/alpha/kernel/head.o 50 KBUILD_LDFLAGS += --no-relax << 51 endif << 52 42 53 CHECKFLAGS += -D$(if $(CONFIG_CPU_BIG_ENDIAN), !! 43 core-y += arch/alpha/kernel/ arch/alpha/mm/ >> 44 core-$(CONFIG_MATHEMU) += arch/alpha/math-emu/ >> 45 drivers-$(CONFIG_OPROFILE) += arch/alpha/oprofile/ >> 46 libs-y += arch/alpha/lib/ 54 47 55 vardirs := $(patsubst %,arch/xtensa/variants/% !! 48 # export what is needed by arch/alpha/boot/Makefile 56 plfdirs := $(patsubst %,arch/xtensa/platforms/ !! 49 LIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) >> 50 export LIBS_Y 57 51 58 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/% !! 52 boot := arch/alpha/boot 59 53 60 KBUILD_DEFCONFIG := iss_defconfig !! 54 #Default target when executing make with no arguments >> 55 all boot: $(boot)/vmlinux.gz 61 56 62 libs-y += arch/xtensa/lib/ !! 57 $(boot)/vmlinux.gz: vmlinux >> 58 $(Q)$(MAKE) $(build)=$(boot) $@ 63 59 64 boot := arch/xtensa/boot !! 60 bootimage bootpfile bootpzfile: vmlinux >> 61 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 65 62 66 all Image zImage uImage xipImage: vmlinux !! 63 archclean: 67 $(Q)$(MAKE) $(build)=$(boot) $@ !! 64 $(Q)$(MAKE) $(clean)=$(boot) 68 65 69 archheaders: 66 archheaders: 70 $(Q)$(MAKE) $(build)=arch/xtensa/kerne !! 67 $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all 71 68 72 define archhelp 69 define archhelp 73 @echo '* Image - Kernel ELF image with !! 70 echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' 74 @echo '* zImage - Compressed kernel ima !! 71 echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' 75 @echo '* uImage - U-Boot wrapped image' !! 72 echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' 76 @echo ' xipImage - XIP image' !! 73 echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' 77 endef 74 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.