blob: 1d08dd0702776678cc5d90b791e03767e402b64b [file] [log] [blame]
Aurelien Jacquiotc2784002011-10-04 10:54:51 -04001#
2# linux/arch/c6x/Makefile
3#
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
6# for more details.
7#
8
9cflags-y += -mno-dsbt -msdata=none
10
11cflags-$(CONFIG_C6X_BIG_KERNEL) += -mlong-calls
12
13CFLAGS_MODULE += -mlong-calls -mno-dsbt -msdata=none
14
15CHECKFLAGS +=
16
17KBUILD_CFLAGS += $(cflags-y)
18KBUILD_AFLAGS += $(cflags-y)
19
20ifdef CONFIG_CPU_BIG_ENDIAN
21KBUILD_CFLAGS += -mbig-endian
22KBUILD_AFLAGS += -mbig-endian
23LINKFLAGS += -mbig-endian
24KBUILD_LDFLAGS += -mbig-endian
25LDFLAGS += -EB
26endif
27
28head-y := arch/c6x/kernel/head.o
29core-y += arch/c6x/kernel/ arch/c6x/mm/ arch/c6x/platforms/
30libs-y += arch/c6x/lib/
31
32# Default to vmlinux.bin, override when needed
33all: vmlinux.bin
34
35boot := arch/$(ARCH)/boot
36
37# Are we making a dtbImage.<boardname> target? If so, crack out the boardname
38DTB:=$(subst dtbImage.,,$(filter dtbImage.%, $(MAKECMDGOALS)))
39export DTB
40
41ifneq ($(DTB),)
42core-y += $(boot)/
43endif
44
45# With make 3.82 we cannot mix normal and wildcard targets
46
47vmlinux.bin: vmlinux
48 $(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
49
50dtbImage.%: vmlinux
51 $(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
52
53archclean:
54 $(Q)$(MAKE) $(clean)=$(boot)
55
56define archhelp
57 @echo ' vmlinux.bin - Binary kernel image (arch/$(ARCH)/boot/vmlinux.bin)'
58 @echo ' dtbImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in'
59 @echo ' - stripped elf with fdt blob'
60endef