2007-11-30 18:07:06 +03:00
#
2005-04-17 02:20:36 +04:00
# cris/Makefile
#
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies. Remember to do have actions
# for "archclean" and "archdep" for cleaning up and making dependencies for
# this architecture
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
arch-y := v10
arch-$(CONFIG_ETRAX_ARCH_V10) := v10
2005-07-27 22:44:30 +04:00
arch-$(CONFIG_ETRAX_ARCH_V32) := v32
2005-04-17 02:20:36 +04:00
2007-11-30 18:07:06 +03:00
# No config available for make clean etc
mach-y := fs
mach-$(CONFIG_CRIS_MACH_ARTPEC3) := a3
mach-$(CONFIG_ETRAXFS) := fs
2005-04-17 02:20:36 +04:00
i f n e q ( $( arch -y ) , )
SARCH := arch-$( arch-y)
e l s e
SARCH :=
e n d i f
2007-11-30 18:07:06 +03:00
i f n e q ( $( mach -y ) , )
MACH := mach-$( mach-y)
e l s e
MACH :=
e n d i f
2005-04-17 02:20:36 +04:00
LD = $( CROSS_COMPILE) ld -mcrislinux
OBJCOPYFLAGS := -O binary -R .note -R .comment -S
CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE= 0x$( CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
2007-11-30 18:07:06 +03:00
KBUILD_AFLAGS += -mlinux -march= $( arch-y) -Iinclude/asm/arch/mach -Iinclude/asm/arch
KBUILD_CFLAGS += -mlinux -march= $( arch-y) -pipe -Iinclude/asm/arch/mach -Iinclude/asm/arch
2005-04-17 02:20:36 +04:00
i f d e f C O N F I G _ F R A M E _ P O I N T E R
2007-10-15 00:21:35 +04:00
KBUILD_CFLAGS := $( subst -fomit-frame-pointer,,$( KBUILD_CFLAGS) ) -g
KBUILD_CFLAGS += -fno-omit-frame-pointer
2005-04-17 02:20:36 +04:00
e n d i f
head-y := arch/$( ARCH) /$( SARCH) /kernel/head.o
2007-10-15 00:21:35 +04:00
LIBGCC = $( shell $( CC) $( KBUILD_CFLAGS) -print-file-name= libgcc.a)
2005-04-17 02:20:36 +04:00
core-y += arch/$( ARCH) /kernel/ arch/$( ARCH) /mm/
core-y += arch/$( ARCH) /$( SARCH) /kernel/ arch/$( ARCH) /$( SARCH) /mm/
2007-11-30 18:07:06 +03:00
i f d e f C O N F I G _ E T R A X _ A R C H _ V 3 2
core-y += arch/$( ARCH) /$( SARCH) /$( MACH) /
e n d i f
2005-04-17 02:20:36 +04:00
drivers-y += arch/$( ARCH) /$( SARCH) /drivers/
libs-y += arch/$( ARCH) /$( SARCH) /lib/ $( LIBGCC)
2005-07-27 22:44:30 +04:00
# cris source path
SRC_ARCH = $( srctree) /arch/$( ARCH)
# cris object files path
OBJ_ARCH = $( objtree) /arch/$( ARCH)
2007-11-30 18:07:06 +03:00
boot := arch/$( ARCH) /boot
MACHINE := arch/$( ARCH) /$( SARCH)
2005-04-17 02:20:36 +04:00
2007-11-30 18:07:06 +03:00
all : zImage
2005-04-17 02:20:36 +04:00
2007-11-30 18:07:06 +03:00
zImage Image : vmlinux
$( Q) $( MAKE) $( build) = $( boot) MACHINE = $( MACHINE) $( boot) /$@
2005-04-17 02:20:36 +04:00
2007-11-30 18:07:06 +03:00
archprepare : $( SRC_ARCH ) /.links $( srctree ) /include /asm -$( ARCH ) /.arch FORCE
2005-04-17 02:20:36 +04:00
# Create some links to make all tools happy
2005-07-27 22:44:30 +04:00
$(SRC_ARCH)/.links :
@rm -rf $( SRC_ARCH) /drivers
2007-11-30 18:07:06 +03:00
@ln -sfn $( SARCH) /drivers $( SRC_ARCH) /drivers
2005-07-27 22:44:30 +04:00
@rm -rf $( SRC_ARCH) /boot
2007-11-30 18:07:06 +03:00
@ln -sfn $( SARCH) /boot $( SRC_ARCH) /boot
2005-07-27 22:44:30 +04:00
@rm -rf $( SRC_ARCH) /lib
2007-11-30 18:07:06 +03:00
@ln -sfn $( SARCH) /lib $( SRC_ARCH) /lib
@rm -f $( SRC_ARCH) /arch/mach
@rm -rf $( SRC_ARCH) /arch
@ln -sfn $( SARCH) $( SRC_ARCH) /arch
i f d e f C O N F I G _ E T R A X _ A R C H _ V 3 2
@ln -sfn ../$( SARCH) /$( MACH) $( SRC_ARCH) /arch/mach
e n d i f
@rm -rf $( SRC_ARCH) /kernel/vmlinux.lds.S
@ln -sfn ../$( SARCH) /vmlinux.lds.S $( SRC_ARCH) /kernel/vmlinux.lds.S
@rm -rf $( SRC_ARCH) /kernel/asm-offsets.c
@ln -sfn ../$( SARCH) /kernel/asm-offsets.c $( SRC_ARCH) /kernel/asm-offsets.c
2005-04-17 02:20:36 +04:00
@touch $@
# Create link to sub arch includes
2005-07-27 22:44:30 +04:00
$(srctree)/include/asm-$(ARCH)/.arch : $( wildcard include /config /arch /*.h )
2007-11-30 18:07:06 +03:00
@echo ' SYMLINK include/asm-$(ARCH)/arch -> include/asm-$(ARCH)/$(SARCH)'
@rm -f $( srctree) /include/asm-$( ARCH) /arch/mach
@rm -f $( srctree) /include/asm-$( ARCH) /arch
@ln -sf $( SARCH) $( srctree) /include/asm-$( ARCH) /arch
i f d e f C O N F I G _ E T R A X _ A R C H _ V 3 2
@ln -sf $( MACH) $( srctree) /include/asm-$( ARCH) /arch/mach
e n d i f
2005-04-17 02:20:36 +04:00
@touch $@
2007-11-30 18:07:06 +03:00
archclean :
$( Q) if [ -e arch/$( ARCH) /boot ] ; then \
$( MAKE) $( clean) = arch/$( ARCH) /boot; \
fi
CLEAN_FILES += \
$( MACHINE) /boot/zImage \
$( MACHINE) /boot/compressed/decompress.bin \
$( MACHINE) /boot/compressed/piggy.gz \
$( MACHINE) /boot/rescue/rescue.bin \
$( SRC_ARCH) /.links \
$( srctree) /include/asm-$( ARCH) /.arch
MRPROPER_FILES += \
$( SRC_ARCH) /drivers \
$( SRC_ARCH) /boot \
$( SRC_ARCH) /lib \
$( SRC_ARCH) /arch \
$( SRC_ARCH) /kernel/vmlinux.lds.S \
$( SRC_ARCH) /kernel/asm-offsets.c
d e f i n e a r c h h e l p
echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
echo '* Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
e n d e f