18e1a6dd2SChris Zankel# 28e1a6dd2SChris Zankel# This file is subject to the terms and conditions of the GNU General Public 38e1a6dd2SChris Zankel# License. See the file "COPYING" in the main directory of this archive 48e1a6dd2SChris Zankel# for more details. 58e1a6dd2SChris Zankel# 68e1a6dd2SChris Zankel# Copyright (C) 2001 - 2005 Tensilica Inc. 78e1a6dd2SChris Zankel# 88e1a6dd2SChris Zankel# This file is included by the global makefile so that you can add your own 98e1a6dd2SChris Zankel# architecture-specific flags and dependencies. Remember to do have actions 108e1a6dd2SChris Zankel# for "archclean" and "archdep" for cleaning up and making dependencies for 118e1a6dd2SChris Zankel# this architecture 128e1a6dd2SChris Zankel 138e1a6dd2SChris Zankel# Core configuration. 148e1a6dd2SChris Zankel# (Use CPU=<xtensa_config> to use another default compiler.) 158e1a6dd2SChris Zankel 168e1a6dd2SChris Zankelcpu-$(CONFIG_XTENSA_CPU_LINUX_BE) := linux_be 178e1a6dd2SChris Zankelcpu-$(CONFIG_XTENSA_CPU_LINUX_CUSTOM) := linux_custom 188e1a6dd2SChris Zankel 198e1a6dd2SChris ZankelCPU = $(cpu-y) 208e1a6dd2SChris Zankelexport CPU 218e1a6dd2SChris Zankel 228e1a6dd2SChris Zankel# Platform configuration 238e1a6dd2SChris Zankel 248e1a6dd2SChris Zankelplatform-y := common 258e1a6dd2SChris Zankelplatform-$(CONFIG_XTENSA_PLATFORM_XT2000) := xt2000 268e1a6dd2SChris Zankelplatform-$(CONFIG_XTENSA_PLATFORM_ISS) := iss 278e1a6dd2SChris Zankel 288e1a6dd2SChris ZankelPLATFORM = $(platform-y) 298e1a6dd2SChris Zankelexport PLATFORM 308e1a6dd2SChris Zankel 318e1a6dd2SChris Zankel#LDFLAGS_vmlinux := -T$(word 1,$(LINKSCRIPT)) 328e1a6dd2SChris ZankelAFLAGS_vmlinux.lds.o := -Uxtensa 338e1a6dd2SChris ZankelCPPFLAGS += -Iarch/xtensa -Iinclude/asm -mlongcalls -g 348e1a6dd2SChris ZankelAFLAGS += -Iarch/xtensa -Iinclude/asm 358e1a6dd2SChris ZankelCPP = $(CC) -E $(CFLAGS) 368e1a6dd2SChris Zankel 378e1a6dd2SChris Zankelcflags-y += -Iarch/xtensa -pipe -mlongcalls 388e1a6dd2SChris Zankel 398e1a6dd2SChris Zankel 408e1a6dd2SChris ZankelKBUILD_DEFCONFIG := common_defconfig 418e1a6dd2SChris Zankel 428e1a6dd2SChris Zankel# ramdisk/initrd support 438e1a6dd2SChris Zankel# You need a compressed ramdisk image, named ramdisk.gz in 448e1a6dd2SChris Zankel# arch/xtensa/boot/ramdisk 458e1a6dd2SChris Zankel 468e1a6dd2SChris Zankelcore-$(CONFIG_EMBEDDED_RAMDISK) += arch/xtensa/boot/ramdisk/ 478e1a6dd2SChris Zankel 488e1a6dd2SChris Zankel# Test for cross compiling 498e1a6dd2SChris Zankel 508e1a6dd2SChris Zankelifneq ($(CPU),) 518e1a6dd2SChris Zankel COMPILE_ARCH = $(shell uname -m) 528e1a6dd2SChris Zankel 538e1a6dd2SChris Zankel ifneq ($(COMPILE_ARCH), xtensa) 548e1a6dd2SChris Zankel ifndef CROSS_COMPILE 558e1a6dd2SChris Zankel CROSS_COMPILE = xtensa_$(CPU)- 568e1a6dd2SChris Zankel endif 578e1a6dd2SChris Zankel endif 588e1a6dd2SChris Zankelendif 598e1a6dd2SChris Zankel 608e1a6dd2SChris Zankel# 618e1a6dd2SChris Zankel 628e1a6dd2SChris ZankelLIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) 638e1a6dd2SChris Zankel 648e1a6dd2SChris Zankelhead-y := arch/xtensa/kernel/head.o 658e1a6dd2SChris Zankelcore-y += arch/xtensa/kernel/ \ 668e1a6dd2SChris Zankel arch/xtensa/mm/ arch/xtensa/platform-$(PLATFORM)/ 678e1a6dd2SChris Zankellibs-y += arch/xtensa/lib/ $(LIBGCC) 688e1a6dd2SChris Zankel 698e1a6dd2SChris Zankelboot := arch/xtensa/boot 708e1a6dd2SChris Zankel 718e1a6dd2SChris Zankelarch/xtensa/kernel/asm-offsets.s: \ 728e1a6dd2SChris Zankel arch/xtensa/kernel/asm-offsets.c \ 738e1a6dd2SChris Zankel include/asm-xtensa/.platform 748e1a6dd2SChris Zankel 758e1a6dd2SChris Zankelinclude/asm-xtensa/offsets.h: arch/xtensa/kernel/asm-offsets.s 768e1a6dd2SChris Zankel $(call filechk,gen-asm-offsets) 778e1a6dd2SChris Zankel 788e1a6dd2SChris Zankelprepare: include/asm-xtensa/.platform include/asm-xtensa/offsets.h 798e1a6dd2SChris Zankel 808e1a6dd2SChris Zankel# Update machine cpu and platform symlinks if something which affects 818e1a6dd2SChris Zankel# them changed. 828e1a6dd2SChris Zankel 838e1a6dd2SChris Zankelinclude/asm-xtensa/.platform: $(wildcard include/config/arch/*.h) 848e1a6dd2SChris Zankel @echo ' Setting up cpu ($(CPU)) and platform ($(PLATFORM)) symlinks' 858e1a6dd2SChris Zankel $(Q)rm -f include/asm-xtensa/platform 868e1a6dd2SChris Zankel $(Q)rm -f include/asm-xtensa/xtensa/config 878e1a6dd2SChris Zankel $(Q)(cd include/asm-xtensa/; ln -sf platform-$(PLATFORM) platform) 888e1a6dd2SChris Zankel $(Q)(cd include/asm-xtensa/xtensa; ln -sf config-$(CPU) config) 898e1a6dd2SChris Zankel 908e1a6dd2SChris Zankelall: zImage 918e1a6dd2SChris Zankel 928e1a6dd2SChris ZankelbzImage : zImage 938e1a6dd2SChris Zankel 948e1a6dd2SChris ZankelzImage zImage.initrd: vmlinux 958e1a6dd2SChris Zankel $(Q)$(MAKE) $(build)=$(boot) $@ 968e1a6dd2SChris Zankel 978e1a6dd2SChris ZankelCLEAN_FILES += arch/xtensa/vmlinux.lds include/asm-xtensa/offset.h 988e1a6dd2SChris Zankel 998e1a6dd2SChris Zankeldefine archhelp 1008e1a6dd2SChris Zankel @echo '* zImage - Compressed kernel image (arch/xtensa/boot/images/zImage.*)' 1018e1a6dd2SChris Zankelendef 1028e1a6dd2SChris Zankel 103