| # SPDX-License-Identifier: GPL-2.0-only | |
| LDFLAGS_vmlinux := --no-undefined -X | |
| OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S | |
| ifdef CONFIG_FUNCTION_TRACER | |
| arch-y += -malways-save-lp -mno-relax | |
| endif | |
| # Avoid generating FPU instructions | |
| arch-y += -mno-ext-fpu-sp -mno-ext-fpu-dp -mfloat-abi=soft | |
| KBUILD_CFLAGS += $(call cc-option, -mno-sched-prolog-epilog) | |
| KBUILD_CFLAGS += -mcmodel=large | |
| KBUILD_CFLAGS +=$(arch-y) $(tune-y) | |
| KBUILD_AFLAGS +=$(arch-y) $(tune-y) | |
| #Default value | |
| head-y := arch/nds32/kernel/head.o | |
| textaddr-y := $(CONFIG_PAGE_OFFSET)+0xc000 | |
| TEXTADDR := $(textaddr-y) | |
| export TEXTADDR | |
| # If we have a machine-specific directory, then include it in the build. | |
| core-y += arch/nds32/kernel/ arch/nds32/mm/ | |
| core-$(CONFIG_FPU) += arch/nds32/math-emu/ | |
| libs-y += arch/nds32/lib/ | |
| ifneq '$(CONFIG_NDS32_BUILTIN_DTB)' '""' | |
| BUILTIN_DTB := y | |
| else | |
| BUILTIN_DTB := n | |
| endif | |
| ifdef CONFIG_CPU_LITTLE_ENDIAN | |
| KBUILD_CFLAGS += $(call cc-option, -EL) | |
| KBUILD_AFLAGS += $(call cc-option, -EL) | |
| KBUILD_LDFLAGS += $(call cc-option, -EL) | |
| CHECKFLAGS += -D__NDS32_EL__ | |
| else | |
| KBUILD_CFLAGS += $(call cc-option, -EB) | |
| KBUILD_AFLAGS += $(call cc-option, -EB) | |
| KBUILD_LDFLAGS += $(call cc-option, -EB) | |
| CHECKFLAGS += -D__NDS32_EB__ | |
| endif | |
| boot := arch/nds32/boot | |
| core-y += $(boot)/dts/ | |
| Image: vmlinux | |
| $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | |
| PHONY += vdso_install | |
| vdso_install: | |
| $(Q)$(MAKE) $(build)=arch/nds32/kernel/vdso $@ | |
| prepare: vdso_prepare | |
| vdso_prepare: prepare0 | |
| $(Q)$(MAKE) $(build)=arch/nds32/kernel/vdso include/generated/vdso-offsets.h | |
| archclean: | |
| $(Q)$(MAKE) $(clean)=$(boot) | |
| define archhelp | |
| echo ' Image - kernel image (arch/$(ARCH)/boot/Image)' | |
| endef |