linux/arch/xtensa/Makefile
<<
>>
Prefs
   1#
   2# This file is subject to the terms and conditions of the GNU General Public
   3# License.  See the file "COPYING" in the main directory of this archive
   4# for more details.
   5#
   6# Copyright (C) 2001 - 2005  Tensilica Inc.
   7#
   8# This file is included by the global makefile so that you can add your own
   9# architecture-specific flags and dependencies. Remember to do have actions
  10# for "archclean" and "archdep" for cleaning up and making dependencies for
  11# this architecture
  12
  13# Core configuration.
  14# (Use VAR=<xtensa_config> to use another default compiler.)
  15
  16variant-$(CONFIG_XTENSA_VARIANT_FSF)            := fsf
  17variant-$(CONFIG_XTENSA_VARIANT_LINUX_CUSTOM)   := custom
  18
  19VARIANT = $(variant-y)
  20export VARIANT
  21
  22# Platform configuration
  23
  24platform-$(CONFIG_XTENSA_PLATFORM_XT2000)       := xt2000
  25platform-$(CONFIG_XTENSA_PLATFORM_ISS)          := iss
  26
  27PLATFORM = $(platform-y)
  28export PLATFORM
  29
  30# temporarily until string.h is fixed
  31KBUILD_CFLAGS += -ffreestanding
  32
  33KBUILD_CFLAGS += -pipe -mlongcalls
  34
  35KBUILD_DEFCONFIG := iss_defconfig
  36
  37# ramdisk/initrd support
  38# You need a compressed ramdisk image, named ramdisk.gz in
  39# arch/xtensa/boot/ramdisk
  40
  41core-$(CONFIG_EMBEDDED_RAMDISK) += arch/xtensa/boot/ramdisk/
  42
  43# Test for cross compiling
  44
  45ifneq ($(VARIANT),)
  46  COMPILE_ARCH = $(shell uname -m)
  47
  48  ifneq ($(COMPILE_ARCH), xtensa)
  49    ifndef CROSS_COMPILE
  50      CROSS_COMPILE = xtensa_$(VARIANT)-
  51    endif
  52  endif
  53endif
  54
  55#
  56
  57LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
  58
  59head-y          := arch/xtensa/kernel/head.o
  60core-y          += arch/xtensa/kernel/ arch/xtensa/mm/
  61ifneq ($(PLATFORM),)
  62core-y          += arch/xtensa/platforms/$(PLATFORM)/
  63endif
  64libs-y          += arch/xtensa/lib/ $(LIBGCC)
  65
  66boot            := arch/xtensa/boot
  67
  68archinc         := include/asm-xtensa
  69
  70archprepare: $(archinc)/.platform
  71
  72# Update processor variant and platform symlinks if something which affects
  73# them changed.
  74
  75$(archinc)/.platform: $(wildcard include/config/arch/*.h) include/config/auto.conf
  76        @echo '  SYMLINK $(archinc)/variant -> $(archinc)/variant-$(VARIANT)'
  77        $(Q)mkdir -p $(archinc)
  78        $(Q)ln -fsn $(srctree)/$(archinc)/variant-$(VARIANT) $(archinc)/variant
  79        @echo '  SYMLINK $(archinc)/platform -> $(archinc)/platform-$(PLATFORM)'
  80        $(Q)ln -fsn $(srctree)/$(archinc)/platform-$(PLATFORM) $(archinc)/platform
  81        @touch $@
  82
  83
  84all: zImage
  85
  86bzImage : zImage
  87
  88zImage zImage.initrd: vmlinux
  89        $(Q)$(MAKE) $(build)=$(boot) $@
  90
  91CLEAN_FILES     += arch/xtensa/vmlinux.lds                      \
  92                   $(archinc)/platform $(archinc)/variant       \
  93                   $(archinc)/.platform
  94
  95define archhelp
  96  @echo '* zImage      - Compressed kernel image (arch/xtensa/boot/images/zImage.*)'
  97endef
  98
  99