| # SPDX-License-Identifier: GPL-2.0-only |
| OBJCOPYFLAGS :=-O binary |
| GZFLAGS :=-9 |
| |
| ifdef CONFIG_CPU_HAS_FPU |
| FPUEXT = f |
| endif |
| |
| ifdef CONFIG_CPU_HAS_VDSP |
| VDSPEXT = v |
| endif |
| |
| ifdef CONFIG_CPU_HAS_TEE |
| TEEEXT = t |
| endif |
| |
| ifdef CONFIG_CPU_CK610 |
| CPUTYPE = ck610 |
| CSKYABI = abiv1 |
| endif |
| |
| ifdef CONFIG_CPU_CK810 |
| CPUTYPE = ck810 |
| CSKYABI = abiv2 |
| endif |
| |
| ifdef CONFIG_CPU_CK807 |
| CPUTYPE = ck807 |
| CSKYABI = abiv2 |
| endif |
| |
| ifdef CONFIG_CPU_CK860 |
| CPUTYPE = ck860 |
| CSKYABI = abiv2 |
| endif |
| |
| ifneq ($(CSKYABI),) |
| MCPU_STR = $(CPUTYPE)$(FPUEXT)$(VDSPEXT)$(TEEEXT) |
| KBUILD_CFLAGS += -mcpu=$(CPUTYPE) -Wa,-mcpu=$(MCPU_STR) |
| KBUILD_CFLAGS += -DCSKYCPU_DEF_NAME=\"$(MCPU_STR)\" |
| KBUILD_CFLAGS += -msoft-float -mdiv |
| KBUILD_CFLAGS += -fno-tree-vectorize |
| endif |
| |
| KBUILD_CFLAGS += -pipe |
| ifeq ($(CSKYABI),abiv2) |
| KBUILD_CFLAGS += -mno-stack-size |
| endif |
| |
| ifdef CONFIG_FRAME_POINTER |
| KBUILD_CFLAGS += -mbacktrace |
| endif |
| |
| abidirs := $(patsubst %,arch/csky/%/,$(CSKYABI)) |
| KBUILD_CFLAGS += $(patsubst %,-I$(srctree)/%inc,$(abidirs)) |
| |
| KBUILD_CPPFLAGS += -mlittle-endian |
| LDFLAGS += -EL |
| |
| KBUILD_AFLAGS += $(KBUILD_CFLAGS) |
| |
| head-y := arch/csky/kernel/head.o |
| |
| core-y += arch/csky/kernel/ |
| core-y += arch/csky/mm/ |
| core-y += arch/csky/$(CSKYABI)/ |
| |
| libs-y += arch/csky/lib/ \ |
| $(shell $(CC) $(KBUILD_CFLAGS) $(KCFLAGS) -print-libgcc-file-name) |
| |
| boot := arch/csky/boot |
| core-y += $(boot)/dts/ |
| |
| all: zImage |
| |
| zImage Image uImage: vmlinux |
| $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ |
| |
| archclean: |
| $(Q)$(MAKE) $(clean)=$(boot) |
| |
| define archhelp |
| echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' |
| echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' |
| echo ' uImage - U-Boot wrapped zImage' |
| endef |