1# SPDX-License-Identifier: GPL-2.0-only 2LDFLAGS_vmlinux := --no-undefined -X 3OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S 4 5ifdef CONFIG_FUNCTION_TRACER 6arch-y += -malways-save-lp -mno-relax 7endif 8 9# Avoid generating FPU instructions 10arch-y += -mno-ext-fpu-sp -mno-ext-fpu-dp -mfloat-abi=soft 11 12KBUILD_CFLAGS += $(call cc-option, -mno-sched-prolog-epilog) 13KBUILD_CFLAGS += -mcmodel=large 14 15KBUILD_CFLAGS +=$(arch-y) $(tune-y) 16KBUILD_AFLAGS +=$(arch-y) $(tune-y) 17 18#Default value 19head-y := arch/nds32/kernel/head.o 20textaddr-y := $(CONFIG_PAGE_OFFSET)+0xc000 21 22TEXTADDR := $(textaddr-y) 23 24export TEXTADDR 25 26 27# If we have a machine-specific directory, then include it in the build. 28core-y += arch/nds32/kernel/ arch/nds32/mm/ 29core-$(CONFIG_FPU) += arch/nds32/math-emu/ 30libs-y += arch/nds32/lib/ 31 32ifneq '$(CONFIG_NDS32_BUILTIN_DTB)' '""' 33BUILTIN_DTB := y 34else 35BUILTIN_DTB := n 36endif 37 38ifdef CONFIG_CPU_LITTLE_ENDIAN 39KBUILD_CFLAGS += $(call cc-option, -EL) 40KBUILD_AFLAGS += $(call cc-option, -EL) 41KBUILD_LDFLAGS += $(call cc-option, -EL) 42CHECKFLAGS += -D__NDS32_EL__ 43else 44KBUILD_CFLAGS += $(call cc-option, -EB) 45KBUILD_AFLAGS += $(call cc-option, -EB) 46KBUILD_LDFLAGS += $(call cc-option, -EB) 47CHECKFLAGS += -D__NDS32_EB__ 48endif 49 50boot := arch/nds32/boot 51core-y += $(boot)/dts/ 52 53Image: vmlinux 54 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 55 56 57PHONY += vdso_install 58vdso_install: 59 $(Q)$(MAKE) $(build)=arch/nds32/kernel/vdso $@ 60 61prepare: vdso_prepare 62vdso_prepare: prepare0 63 $(Q)$(MAKE) $(build)=arch/nds32/kernel/vdso include/generated/vdso-offsets.h 64 65archclean: 66 $(Q)$(MAKE) $(clean)=$(boot) 67 68define archhelp 69 echo ' Image - kernel image (arch/$(ARCH)/boot/Image)' 70endef 71