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