summaryrefslogtreecommitdiffstats
path: root/arch/kvx/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/kvx/Makefile')
-rw-r--r--arch/kvx/Makefile37
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/kvx/Makefile b/arch/kvx/Makefile
new file mode 100644
index 0000000000..9431c9fe18
--- /dev/null
+++ b/arch/kvx/Makefile
@@ -0,0 +1,37 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+KBUILD_DEFCONFIG := generic_defconfig
+
+KBUILD_CPPFLAGS += -fno-strict-aliasing
+
+KALLSYMS += --symbol-prefix=_
+
+ifeq ($(CROSS_COMPILE),)
+CROSS_COMPILE := kvx-elf-
+endif
+
+DEFAULT_CFLAGS := -fno-builtin -fstrict-align -g
+DEFAULT_CFLAGS += -DTEXT_BASE=$(CONFIG_TEXT_BASE)
+
+LIBGCC_PATH = $(dir $(shell $(CC) $(KBUILD_CFLAGS) --print-libgcc-file-name))
+
+KBUILD_CFLAGS += $(DEFAULT_CFLAGS)
+KBUILD_AFLAGS += $(DEFAULT_CFLAGS)
+
+KBUILD_LDFLAGS += -m elf64kvx
+
+archprepare: maketools
+
+PHONY += maketools
+
+common-y += arch/kvx/lib/
+common-y += arch/kvx/cpu/
+common-$(CONFIG_OFTREE) += arch/kvx/dts/
+
+lds-y += arch/kvx/cpu/barebox.lds
+
+cmd_barebox__ ?= $(LD) $(KBUILD_LDFLAGS) $(LDFLAGS_barebox) -o $@ \
+ -T $(BAREBOX_LDS) \
+ --whole-archive $(BAREBOX_OBJS) --no-whole-archive \
+ -L$(LIBGCC_PATH) -lgcc \
+ $(filter-out $(BAREBOX_LDS) $(BAREBOX_OBJS) FORCE ,$^)