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 << 17 VARIANT = $(variant-y) << 18 << 19 ifneq ($(VARIANT),) << 20 ifdef cross_compiling << 21 ifndef CROSS_COMPILE << 22 CROSS_COMPILE = xtensa_$(VARIANT)- << 23 endif << 24 endif << 25 endif << 26 << 27 # Platform configuration << 28 << 29 platform-$(CONFIG_XTENSA_PLATFORM_XT2000) << 30 platform-$(CONFIG_XTENSA_PLATFORM_ISS) << 31 platform-$(CONFIG_XTENSA_PLATFORM_XTFPGA) << 32 10 33 # temporarily until string.h is fixed !! 11 NM := $(NM) -B 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 12 44 KBUILD_AFLAGS += -mlongcalls -mtext-section-li !! 13 LDFLAGS_vmlinux := -static -N #-relax 45 KBUILD_AFLAGS += $(call cc-option,-mno-fdpic,) !! 14 CHECKFLAGS += -D__alpha__ >> 15 cflags-y := -pipe -mno-fp-regs -ffixed-8 >> 16 cflags-y += $(call cc-option, -fno-jump-tables) >> 17 >> 18 cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 >> 19 cpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5 >> 20 cpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56 >> 21 cpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56 >> 22 cpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56 >> 23 cpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6 >> 24 cpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67 >> 25 # If GENERIC, make sure to turn off any instruction set extensions that >> 26 # the host compiler might have on by default. Given that EV4 and EV5 >> 27 # have the same instruction set, prefer EV5 because an EV5 schedule is >> 28 # more likely to keep an EV4 processor busy than vice-versa. >> 29 cpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5 >> 30 >> 31 cflags-y += $(cpuflags-y) >> 32 >> 33 >> 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 drivers-$(CONFIG_OPROFILE) += arch/alpha/oprofile/ >> 44 libs-y += arch/alpha/lib/ >> 45 >> 46 # export what is needed by arch/alpha/boot/Makefile >> 47 LIBS_Y := $(patsubst %/, %/lib.a, $(libs-y)) >> 48 export LIBS_Y 46 49 47 KBUILD_LDFLAGS += -m elf32xtensa !! 50 boot := arch/alpha/boot 48 51 49 ifneq ($(CONFIG_LD_NO_RELAX),) !! 52 #Default target when executing make with no arguments 50 KBUILD_LDFLAGS += --no-relax !! 53 all boot: $(boot)/vmlinux.gz 51 endif << 52 54 53 CHECKFLAGS += -D$(if $(CONFIG_CPU_BIG_ENDIAN), !! 55 $(boot)/vmlinux.gz: vmlinux 54 !! 56 $(Q)$(MAKE) $(build)=$(boot) $@ 55 vardirs := $(patsubst %,arch/xtensa/variants/% << 56 plfdirs := $(patsubst %,arch/xtensa/platforms/ << 57 << 58 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/% << 59 << 60 KBUILD_DEFCONFIG := iss_defconfig << 61 << 62 libs-y += arch/xtensa/lib/ << 63 57 64 boot := arch/xtensa/boot !! 58 bootimage bootpfile bootpzfile: vmlinux >> 59 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 65 60 66 all Image zImage uImage xipImage: vmlinux !! 61 archclean: 67 $(Q)$(MAKE) $(build)=$(boot) $@ !! 62 $(Q)$(MAKE) $(clean)=$(boot) 68 63 69 archheaders: 64 archheaders: 70 $(Q)$(MAKE) $(build)=arch/xtensa/kerne !! 65 $(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all 71 66 72 define archhelp 67 define archhelp 73 @echo '* Image - Kernel ELF image with !! 68 echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' 74 @echo '* zImage - Compressed kernel ima !! 69 echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' 75 @echo '* uImage - U-Boot wrapped image' !! 70 echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)' 76 @echo ' xipImage - XIP image' !! 71 echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)' 77 endef 72 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.