1 ###############################################################################
3 # MN10300 Kernel makefile system specifications
5 # Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
6 # Modified by David Howells (dhowells@redhat.com)
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public Licence
10 # as published by the Free Software Foundation; either version
11 # 2 of the Licence, or (at your option) any later version.
13 ###############################################################################
15 KBUILD_DEFCONFIG
:= asb2303_defconfig
17 CCSPECS
:= $(shell $(CC
) -v
2>&1 | grep
"^Reading specs from " | head
-1 | cut
-c20-
)
18 CCDIR
:= $(strip $(patsubst %/specs
,%,$(CCSPECS
)))
19 KBUILD_CPPFLAGS
+= -nostdinc
-I
$(CCDIR
)/include
22 OBJCOPYFLAGS
:= -O binary
-R .note
-R .comment
-S
23 #LDFLAGS_vmlinux := -Map linkmap.txt
29 KBUILD_CFLAGS
+= -mam33
-mmem-funcs
-DCPU
=AM33
30 KBUILD_AFLAGS
+= -mam33
-DCPU
=AM33
32 ifeq ($(CONFIG_MN10300_CURRENT_IN_E2
),y
)
33 KBUILD_CFLAGS
+= -ffixed-e2
-fcall-saved-e5
36 ifeq ($(CONFIG_MN10300_PROC_MN103E010
),y
)
37 PROCESSOR
:= mn103e010
40 ifeq ($(CONFIG_MN10300_UNIT_ASB2303
),y
)
43 ifeq ($(CONFIG_MN10300_UNIT_ASB2305
),y
)
48 head-y
:= arch
/mn10300
/kernel
/head.o arch
/mn10300
/kernel
/init_task.o
50 core-y
+= arch
/mn10300
/kernel
/ arch
/mn10300
/mm
/
52 ifneq ($(PROCESSOR
),unset
)
53 core-y
+= arch
/mn10300
/proc-
$(PROCESSOR
)/
56 core-y
+= arch
/mn10300
/unit-
$(UNIT
)/
58 libs-y
+= arch
/mn10300
/lib
/
60 drivers-
$(CONFIG_OPROFILE
) += arch
/mn10300
/oprofile
/
62 boot
:= arch
/mn10300
/boot
66 KBUILD_IMAGE
:= $(boot
)/zImage
67 CLEAN_FILES
+= $(boot
)/zImage
68 CLEAN_FILES
+= $(boot
)/compressed
/vmlinux
69 CLEAN_FILES
+= $(boot
)/compressed
/vmlinux.bin
70 CLEAN_FILES
+= $(boot
)/compressed
/vmlinux.bin.gz
73 $(Q
)$(MAKE
) $(build
)=$(boot
) $(boot
)/$@
78 $(Q
)$(MAKEBOOT
) bootstrap
81 $(Q
)$(MAKE
) $(clean)=arch
/mn10300
/proc-mn103e010
82 $(Q
)$(MAKE
) $(clean)=arch
/mn10300
/unit-asb2303
83 $(Q
)$(MAKE
) $(clean)=arch
/mn10300
/unit-asb2305
86 echo
'* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
89 # If you make sure the .S files get compiled with debug info,
90 # uncomment the following to disable optimisations
91 # that are unhelpful whilst debugging.
92 ifdef CONFIG_DEBUG_INFO
94 KBUILD_AFLAGS
+= -Wa
,--gdwarf2
97 ###################################################################################################
99 # juggle some symlinks in the MN10300 asm include dir
101 # Update machine proc and unit symlinks if something which affects
102 # them changed. We use .proc / .unit to indicate when they were
103 # updated last, otherwise make uses the target directory mtime.
105 ###################################################################################################
107 # processor specific definitions
108 include/asm-mn10300
/.proc
: $(wildcard include/config
/proc
/*.h
) include/config
/auto.conf
109 @echo
' SYMLINK include/asm-mn10300/proc -> include/asm-mn10300/proc-$(PROCESSOR)'
110 ifneq ($(KBUILD_SRC
),)
111 $(Q
)mkdir
-p
include/asm-mn10300
112 $(Q
)ln
-fsn
$(srctree
)/include/asm-mn10300
/proc-
$(PROCESSOR
) include/asm-mn10300
/proc
114 $(Q
)ln
-fsn proc-
$(PROCESSOR
) include/asm-mn10300
/proc
118 CLEAN_FILES
+= include/asm-mn10300
/proc
include/asm-mn10300
/.proc
120 prepare
: include/asm-mn10300
/.proc
122 # unit specific definitions
123 include/asm-mn10300
/.unit
: $(wildcard include/config
/unit
/*.h
) include/config
/auto.conf
124 @echo
' SYMLINK include/asm-mn10300/unit -> include/asm-mn10300/unit-$(UNIT)'
125 ifneq ($(KBUILD_SRC
),)
126 $(Q
)mkdir
-p
include/asm-mn10300
127 $(Q
)ln
-fsn
$(srctree
)/include/asm-mn10300
/unit-
$(UNIT
) include/asm-mn10300
/unit
129 $(Q
)ln
-fsn unit-
$(UNIT
) include/asm-mn10300
/unit
133 CLEAN_FILES
+= include/asm-mn10300
/unit
include/asm-mn10300
/.unit
135 prepare
: include/asm-mn10300
/.unit