blob: ccdca714202019884ccbf794923291dce728bc46 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Greentime Hue71ea3b2017-10-25 15:03:49 +08002LDFLAGS_vmlinux := --no-undefined -X
3OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S
4
Zong Lia1808252018-08-15 10:45:59 +08005ifdef CONFIG_FUNCTION_TRACER
6arch-y += -malways-save-lp -mno-relax
7endif
8
Vincent Chene46bf832018-11-22 11:14:34 +08009# Avoid generating FPU instructions
10arch-y += -mno-ext-fpu-sp -mno-ext-fpu-dp -mfloat-abi=soft
11
Greentime Hud78a62f2018-03-01 10:54:07 +080012KBUILD_CFLAGS += $(call cc-option, -mno-sched-prolog-epilog)
13KBUILD_CFLAGS += -mcmodel=large
Greentime Hue71ea3b2017-10-25 15:03:49 +080014
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/
Vincent Chen1ac83252018-11-22 11:14:35 +080029core-$(CONFIG_FPU) += arch/nds32/math-emu/
Greentime Hue71ea3b2017-10-25 15:03:49 +080030libs-y += arch/nds32/lib/
Greentime Hue71ea3b2017-10-25 15:03:49 +080031
32ifneq '$(CONFIG_NDS32_BUILTIN_DTB)' '""'
33BUILTIN_DTB := y
34else
35BUILTIN_DTB := n
36endif
37
38ifdef CONFIG_CPU_LITTLE_ENDIAN
Greentime Hud78a62f2018-03-01 10:54:07 +080039KBUILD_CFLAGS += $(call cc-option, -EL)
Greentime Hub3b112b2018-04-19 16:26:43 +080040KBUILD_AFLAGS += $(call cc-option, -EL)
Masahiro Yamadad503ac52018-08-24 08:20:39 +090041KBUILD_LDFLAGS += $(call cc-option, -EL)
Luc Van Oostenryck97d1e3d2018-05-28 18:29:02 +020042CHECKFLAGS += -D__NDS32_EL__
Greentime Hue71ea3b2017-10-25 15:03:49 +080043else
Greentime Hud78a62f2018-03-01 10:54:07 +080044KBUILD_CFLAGS += $(call cc-option, -EB)
Greentime Hub3b112b2018-04-19 16:26:43 +080045KBUILD_AFLAGS += $(call cc-option, -EB)
Masahiro Yamadad503ac52018-08-24 08:20:39 +090046KBUILD_LDFLAGS += $(call cc-option, -EB)
Luc Van Oostenryck97d1e3d2018-05-28 18:29:02 +020047CHECKFLAGS += -D__NDS32_EB__
Greentime Hue71ea3b2017-10-25 15:03:49 +080048endif
49
50boot := arch/nds32/boot
Rob Herring37c8a5f2018-01-10 15:19:37 -060051core-y += $(boot)/dts/
Greentime Hue71ea3b2017-10-25 15:03:49 +080052
Greentime Hue71ea3b2017-10-25 15:03:49 +080053Image: 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
Greentime Hue71ea3b2017-10-25 15:03:49 +080065archclean:
66 $(Q)$(MAKE) $(clean)=$(boot)
67
68define archhelp
69 echo ' Image - kernel image (arch/$(ARCH)/boot/Image)'
70endef