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