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
6 # Copyright (C) 2001 - 2005 Tensilica Inc.
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
14 # (Use VAR=<xtensa_config> to use another default compiler.)
16 variant-
$(CONFIG_XTENSA_VARIANT_FSF
) := fsf
17 variant-
$(CONFIG_XTENSA_VARIANT_DC232B
) := dc232b
18 variant-
$(CONFIG_XTENSA_VARIANT_S6000
) := s6000
19 variant-
$(CONFIG_XTENSA_VARIANT_LINUX_CUSTOM
) := custom
21 VARIANT
= $(variant-y
)
24 # Platform configuration
26 platform-
$(CONFIG_XTENSA_PLATFORM_XT2000
) := xt2000
27 platform-
$(CONFIG_XTENSA_PLATFORM_ISS
) := iss
28 platform-
$(CONFIG_XTENSA_PLATFORM_S6105
) := s6105
30 PLATFORM
= $(platform-y
)
33 # temporarily until string.h is fixed
34 KBUILD_CFLAGS
+= -ffreestanding
36 KBUILD_CFLAGS
+= -pipe
-mlongcalls
38 KBUILD_CFLAGS
+= $(call cc-option
,-mforce-no-pic
,)
40 vardirs
:= $(patsubst %,arch
/xtensa
/variants
/%/,$(variant-y
))
41 plfdirs
:= $(patsubst %,arch
/xtensa
/platforms
/%/,$(platform-y
))
44 KBUILD_CPPFLAGS
+= $(patsubst %,-I
%include,$(vardirs
) $(plfdirs
))
46 KBUILD_CPPFLAGS
+= $(patsubst %,-I
$(srctree
)/%include,$(vardirs
) $(plfdirs
))
49 KBUILD_DEFCONFIG
:= iss_defconfig
51 # ramdisk/initrd support
52 # You need a compressed ramdisk image, named ramdisk.gz in
53 # arch/xtensa/boot/ramdisk
55 core-
$(CONFIG_EMBEDDED_RAMDISK
) += arch
/xtensa
/boot
/ramdisk
/
57 # Test for cross compiling
60 COMPILE_ARCH
= $(shell uname
-m
)
62 ifneq ($(COMPILE_ARCH
), xtensa
)
64 CROSS_COMPILE
= xtensa_
$(VARIANT
)-
69 # Only build variant and/or platform if it includes a Makefile
71 buildvar
:= $(shell test -a
$(srctree
)/arch
/xtensa
/variants
/$(VARIANT
)/Makefile
&& echo arch
/xtensa
/variants
/$(VARIANT
)/)
72 buildplf
:= $(shell test -a
$(srctree
)/arch
/xtensa
/platforms
/$(PLATFORM
)/Makefile
&& echo arch
/xtensa
/platforms
/$(PLATFORM
)/)
76 LIBGCC
:= $(shell $(CC
) $(KBUILD_CFLAGS
) -print-libgcc-file-name
)
78 head-y
:= arch
/xtensa
/kernel
/head.o
79 core-y
+= arch
/xtensa
/kernel
/ arch
/xtensa
/mm
/
80 core-y
+= $(buildvar
) $(buildplf
)
82 libs-y
+= arch
/xtensa
/lib
/ $(LIBGCC
)
84 boot
:= arch
/xtensa
/boot
90 zImage zImage.initrd
: vmlinux
91 $(Q
)$(MAKE
) $(build
)=$(boot
) $@
94 @echo
'* zImage - Compressed kernel image (arch/xtensa/boot/images/zImage.*)'