2008-02-08 15:19:31 +03:00
###############################################################################
#
# MN10300 Kernel makefile system specifications
#
# Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
# Modified by David Howells (dhowells@redhat.com)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public Licence
# as published by the Free Software Foundation; either version
# 2 of the Licence, or (at your option) any later version.
#
###############################################################################
KBUILD_DEFCONFIG := asb2303_defconfig
CCSPECS := $( shell $( CC) -v 2>& 1 | grep "^Reading specs from " | head -1 | cut -c20-)
CCDIR := $( strip $( patsubst %/specs,%,$( CCSPECS) ) )
KBUILD_CPPFLAGS += -nostdinc -I$( CCDIR) /include
LDFLAGS :=
OBJCOPYFLAGS := -O binary -R .note -R .comment -S
#LDFLAGS_vmlinux := -Map linkmap.txt
CHECKFLAGS +=
PROCESSOR := unset
UNIT := unset
KBUILD_CFLAGS += -mam33 -mmem-funcs -DCPU= AM33
KBUILD_AFLAGS += -mam33 -DCPU= AM33
i f e q ( $( CONFIG_MN 10300_CURRENT_IN_E 2) , y )
KBUILD_CFLAGS += -ffixed-e2 -fcall-saved-e5
e n d i f
i f e q ( $( CONFIG_MN 10300_PROC_MN 103E 010) , y )
PROCESSOR := mn103e010
e n d i f
i f e q ( $( CONFIG_MN 10300_UNIT_ASB 2303) , y )
UNIT := asb2303
e n d i f
i f e q ( $( CONFIG_MN 10300_UNIT_ASB 2305) , y )
UNIT := asb2305
e n d i f
head-y := arch/mn10300/kernel/head.o arch/mn10300/kernel/init_task.o
core-y += arch/mn10300/kernel/ arch/mn10300/mm/
i f n e q ( $( PROCESSOR ) , u n s e t )
core-y += arch/mn10300/proc-$( PROCESSOR) /
e n d i f
i f n e q ( $( UNIT ) , u n s e t )
core-y += arch/mn10300/unit-$( UNIT) /
e n d i f
libs-y += arch/mn10300/lib/
drivers-$(CONFIG_OPROFILE) += arch/mn10300/oprofile/
boot := arch/mn10300/boot
.PHONY : zImage
KBUILD_IMAGE := $( boot) /zImage
CLEAN_FILES += $( boot) /zImage
CLEAN_FILES += $( boot) /compressed/vmlinux
CLEAN_FILES += $( boot) /compressed/vmlinux.bin
CLEAN_FILES += $( boot) /compressed/vmlinux.bin.gz
zImage : vmlinux
$( Q) $( MAKE) $( build) = $( boot) $( boot) /$@
all : zImage
bootstrap :
$( Q) $( MAKEBOOT) bootstrap
archclean :
$( Q) $( MAKE) $( clean) = arch/mn10300/proc-mn103e010
$( Q) $( MAKE) $( clean) = arch/mn10300/unit-asb2303
$( Q) $( MAKE) $( clean) = arch/mn10300/unit-asb2305
d e f i n e a r c h h e l p
echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
e n d e f
# If you make sure the .S files get compiled with debug info,
# uncomment the following to disable optimisations
# that are unhelpful whilst debugging.
i f d e f C O N F I G _ D E B U G _ I N F O
#KBUILD_CFLAGS += -O1
KBUILD_AFLAGS += -Wa,--gdwarf2
e n d i f
###################################################################################################
#
# juggle some symlinks in the MN10300 asm include dir
#
# Update machine proc and unit symlinks if something which affects
# them changed. We use .proc / .unit to indicate when they were
# updated last, otherwise make uses the target directory mtime.
#
###################################################################################################
# processor specific definitions
2009-04-10 17:19:03 +04:00
arch/mn10300/include/asm/.proc : $( wildcard include /config /proc /*.h ) include /config /auto .conf
@echo ' SYMLINK arch/mn10300/include/asm/proc -> arch/mn10300/include/asm/proc-$(PROCESSOR)'
2008-02-08 15:19:31 +03:00
i f n e q ( $( KBUILD_SRC ) , )
2009-04-10 17:19:03 +04:00
$( Q) mkdir -p arch/mn10300/include/asm
$( Q) ln -fsn $( srctree) /arch/mn10300/include/asm/proc-$( PROCESSOR) arch/mn10300/include/asm/proc
2008-02-08 15:19:31 +03:00
e l s e
2009-04-10 17:19:03 +04:00
$( Q) ln -fsn proc-$( PROCESSOR) arch/mn10300/include/asm/proc
2008-02-08 15:19:31 +03:00
e n d i f
@touch $@
2009-04-10 17:19:03 +04:00
CLEAN_FILES += arch/mn10300/include/asm/proc arch/mn10300/include/asm/.proc
2008-02-08 15:19:31 +03:00
2009-04-10 17:19:03 +04:00
prepare : arch /mn 10300/include /asm /.proc
2008-02-08 15:19:31 +03:00
# unit specific definitions
2009-04-10 17:19:03 +04:00
arch/mn10300/include/asm/.unit : $( wildcard include /config /unit /*.h ) include /config /auto .conf
@echo ' SYMLINK arch/mn10300/include/asm/unit -> arch/mn10300/include/asm/unit-$(UNIT)'
2008-02-08 15:19:31 +03:00
i f n e q ( $( KBUILD_SRC ) , )
2009-04-10 17:19:03 +04:00
$( Q) mkdir -p arch/mn10300/include/asm
$( Q) ln -fsn $( srctree) /arch/mn10300/include/asm/unit-$( UNIT) arch/mn10300/include/asm/unit
2008-02-08 15:19:31 +03:00
e l s e
2009-04-10 17:19:03 +04:00
$( Q) ln -fsn unit-$( UNIT) arch/mn10300/include/asm/unit
2008-02-08 15:19:31 +03:00
e n d i f
@touch $@
2009-04-10 17:19:03 +04:00
CLEAN_FILES += arch/mn10300/include/asm/unit arch/mn10300/include/asm/.unit
2008-02-08 15:19:31 +03:00
2009-04-10 17:19:03 +04:00
prepare : arch /mn 10300/include /asm /.unit