2 # arch/blackfin/Makefile
4 # This file is subject to the terms and conditions of the GNU General Public
5 # License. See the file "COPYING" in the main directory of this archive
9 ifeq ($(CROSS_COMPILE
),)
10 CROSS_COMPILE
:= bfin-uclinux-
13 OBJCOPYFLAGS
:= -O binary
-R .note
-R .comment
-S
16 KBUILD_CFLAGS
+= $(call cc-option
,-mno-fdpic
)
17 ifeq ($(CONFIG_ROMKERNEL
),y
)
18 KBUILD_CFLAGS
+= -mlong-calls
20 KBUILD_AFLAGS
+= $(call cc-option
,-mno-fdpic
)
21 KBUILD_CFLAGS_MODULE
+= -mlong-calls
22 KBUILD_LDFLAGS_MODULE
+= -m elf32bfin
23 KALLSYMS
+= --symbol-prefix
=_
25 KBUILD_DEFCONFIG
:= BF537-STAMP_defconfig
27 # setup the machine name and the machine dependent settings
28 machine-
$(CONFIG_BF512
) := bf518
29 machine-
$(CONFIG_BF514
) := bf518
30 machine-
$(CONFIG_BF516
) := bf518
31 machine-
$(CONFIG_BF518
) := bf518
32 machine-
$(CONFIG_BF522
) := bf527
33 machine-
$(CONFIG_BF523
) := bf527
34 machine-
$(CONFIG_BF524
) := bf527
35 machine-
$(CONFIG_BF525
) := bf527
36 machine-
$(CONFIG_BF526
) := bf527
37 machine-
$(CONFIG_BF527
) := bf527
38 machine-
$(CONFIG_BF531
) := bf533
39 machine-
$(CONFIG_BF532
) := bf533
40 machine-
$(CONFIG_BF533
) := bf533
41 machine-
$(CONFIG_BF534
) := bf537
42 machine-
$(CONFIG_BF536
) := bf537
43 machine-
$(CONFIG_BF537
) := bf537
44 machine-
$(CONFIG_BF538
) := bf538
45 machine-
$(CONFIG_BF539
) := bf538
46 machine-
$(CONFIG_BF542
) := bf548
47 machine-
$(CONFIG_BF542M
) := bf548
48 machine-
$(CONFIG_BF544
) := bf548
49 machine-
$(CONFIG_BF544M
) := bf548
50 machine-
$(CONFIG_BF547
) := bf548
51 machine-
$(CONFIG_BF547M
) := bf548
52 machine-
$(CONFIG_BF548
) := bf548
53 machine-
$(CONFIG_BF548M
) := bf548
54 machine-
$(CONFIG_BF549
) := bf548
55 machine-
$(CONFIG_BF549M
) := bf548
56 machine-
$(CONFIG_BF561
) := bf561
57 MACHINE
:= $(machine-y
)
60 cpu-
$(CONFIG_BF512
) := bf512
61 cpu-
$(CONFIG_BF514
) := bf514
62 cpu-
$(CONFIG_BF516
) := bf516
63 cpu-
$(CONFIG_BF518
) := bf518
64 cpu-
$(CONFIG_BF522
) := bf522
65 cpu-
$(CONFIG_BF523
) := bf523
66 cpu-
$(CONFIG_BF524
) := bf524
67 cpu-
$(CONFIG_BF525
) := bf525
68 cpu-
$(CONFIG_BF526
) := bf526
69 cpu-
$(CONFIG_BF527
) := bf527
70 cpu-
$(CONFIG_BF531
) := bf531
71 cpu-
$(CONFIG_BF532
) := bf532
72 cpu-
$(CONFIG_BF533
) := bf533
73 cpu-
$(CONFIG_BF534
) := bf534
74 cpu-
$(CONFIG_BF536
) := bf536
75 cpu-
$(CONFIG_BF537
) := bf537
76 cpu-
$(CONFIG_BF538
) := bf538
77 cpu-
$(CONFIG_BF539
) := bf539
78 cpu-
$(CONFIG_BF542
) := bf542
79 cpu-
$(CONFIG_BF542M
) := bf542m
80 cpu-
$(CONFIG_BF544
) := bf544
81 cpu-
$(CONFIG_BF544M
) := bf544m
82 cpu-
$(CONFIG_BF547
) := bf547
83 cpu-
$(CONFIG_BF547M
) := bf547m
84 cpu-
$(CONFIG_BF548
) := bf548
85 cpu-
$(CONFIG_BF548M
) := bf548m
86 cpu-
$(CONFIG_BF549
) := bf549
87 cpu-
$(CONFIG_BF549M
) := bf549m
88 cpu-
$(CONFIG_BF561
) := bf561
90 rev-
$(CONFIG_BF_REV_0_0
) := 0.0
91 rev-
$(CONFIG_BF_REV_0_1
) := 0.1
92 rev-
$(CONFIG_BF_REV_0_2
) := 0.2
93 rev-
$(CONFIG_BF_REV_0_3
) := 0.3
94 rev-
$(CONFIG_BF_REV_0_4
) := 0.4
95 rev-
$(CONFIG_BF_REV_0_5
) := 0.5
96 rev-
$(CONFIG_BF_REV_0_6
) := 0.6
97 rev-
$(CONFIG_BF_REV_NONE
) := none
98 rev-
$(CONFIG_BF_REV_ANY
) := any
100 KBUILD_CFLAGS
+= -mcpu
=$(cpu-y
)-$(rev-y
)
101 KBUILD_AFLAGS
+= -mcpu
=$(cpu-y
)-$(rev-y
)
103 # - we utilize the silicon rev from the toolchain, so move it over to the checkflags
104 # - the l1_text attribute is Blackfin specific, so fake it out as used to kill warnings
105 CHECKFLAGS_SILICON
= $(shell echo
"" |
$(CPP
) $(KBUILD_CFLAGS
) -dD
- 2>/dev
/null | awk
'$$2 == "__SILICON_REVISION__" { print $$3 }')
106 CHECKFLAGS
+= -D__SILICON_REVISION__
=$(CHECKFLAGS_SILICON
) -Dl1_text
=__used__
108 head-y
:= arch
/$(ARCH
)/kernel
/init_task.o
110 core-y
+= arch
/$(ARCH
)/kernel
/ arch
/$(ARCH
)/mm
/ arch
/$(ARCH
)/mach-common
/
112 # If we have a machine-specific directory, then include it in the build.
113 ifneq ($(machine-y
),)
114 core-y
+= arch
/$(ARCH
)/mach-
$(MACHINE
)/
115 core-y
+= arch
/$(ARCH
)/mach-
$(MACHINE
)/boards
/
118 ifeq ($(CONFIG_MPU
),y
)
119 core-y
+= arch
/$(ARCH
)/kernel
/cplb-mpu
/
121 core-y
+= arch
/$(ARCH
)/kernel
/cplb-nompu
/
124 drivers-
$(CONFIG_OPROFILE
) += arch
/$(ARCH
)/oprofile
/
126 libs-y
+= arch
/$(ARCH
)/lib
/
128 machdirs
:= $(patsubst %,arch
/blackfin
/mach-
%/, $(machine-y
))
130 KBUILD_CFLAGS
+= -Iarch
/$(ARCH
)/include/
131 KBUILD_CFLAGS
+= -Iarch
/$(ARCH
)/mach-
$(MACHINE
)/include
133 KBUILD_CPPFLAGS
+= $(patsubst %,-I
$(srctree
)/%include,$(machdirs
))
136 arch
/$(ARCH
)/kernel
/asm-offsets.s \
139 $(Q
)$(MAKE
) $(clean)=$(boot
)
141 INSTALL_PATH ?
= /tftpboot
142 boot
:= arch
/$(ARCH
)/boot
143 BOOT_TARGETS
= vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
144 PHONY
+= $(BOOT_TARGETS
) install
145 KBUILD_IMAGE
:= $(boot
)/vmImage
149 $(BOOT_TARGETS
): vmlinux
150 $(Q
)$(MAKE
) $(build
)=$(boot
) $(boot
)/$@
153 $(Q
)$(MAKE
) $(build
)=$(boot
) BOOTIMAGE
=$(KBUILD_IMAGE
) install
156 echo
'* vmImage - Alias to selected kernel format (vmImage.gz by default)'
157 echo
' vmImage.bin - Uncompressed Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bin)'
158 echo
' vmImage.bz2 - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)'
159 echo
'* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)'
160 echo
' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)'
161 echo
' vmImage.lzo - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzo)'
162 echo
' vmImage.xip - XIP Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.xip)'
163 echo
' install - Install kernel using'
164 echo
' (your) ~/bin/$(INSTALLKERNEL) or'
165 echo
' (distribution) PATH: $(INSTALLKERNEL) or'
166 echo
' install to $$(INSTALL_PATH)'