diff options
author | Antony Pavlov <antonynpavlov@gmail.com> | 2018-12-18 10:19:34 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-07 08:53:18 +0100 |
commit | 8099f22c1bfac85110823ea2dafcfb01453bcbae (patch) | |
tree | 53ad0dbd618f659eacca533eb14c78582ed2b9dc /arch/riscv/Makefile | |
parent | 64fc4ac1b50a06b17a72c7427e797b3a33a30e8c (diff) | |
download | barebox-8099f22c1bfac85110823ea2dafcfb01453bcbae.tar.gz barebox-8099f22c1bfac85110823ea2dafcfb01453bcbae.tar.xz |
Add initial RISC-V architecture support
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/riscv/Makefile')
-rw-r--r-- | arch/riscv/Makefile | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile new file mode 100644 index 0000000000..28eb414452 --- /dev/null +++ b/arch/riscv/Makefile @@ -0,0 +1,54 @@ +CPPFLAGS += -fno-strict-aliasing + +ifeq ($(CONFIG_ARCH_RV32I),y) + cflags-y += -march=rv32im +endif + +cflags-y += -fno-pic -pipe +cflags-y += -Wall -Wstrict-prototypes \ + -Wno-uninitialized -Wno-format -Wno-main -mcmodel=medany + +LDFLAGS += $(ldflags-y) +LDFLAGS_barebox += -nostdlib + +TEXT_BASE = $(CONFIG_TEXT_BASE) +CPPFLAGS += -DTEXT_BASE=$(CONFIG_TEXT_BASE) + +ifndef CONFIG_MODULES +# Add cleanup flags +CPPFLAGS += -fdata-sections -ffunction-sections +LDFLAGS_barebox += -static --gc-sections +endif + +KBUILD_BINARY := barebox.bin + +machdirs := $(patsubst %,arch/riscv/mach-%/,$(machine-y)) + +ifeq ($(KBUILD_SRC),) +CPPFLAGS += $(patsubst %,-I%include,$(machdirs)) +else +CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) +endif + +archprepare: maketools + +PHONY += maketools + +ifneq ($(machine-y),) +MACH := arch/riscv/mach-$(machine-y)/ +else +MACH := +endif + +common-y += $(MACH) +common-y += arch/riscv/boot/ +common-y += arch/riscv/lib/ + +common-$(CONFIG_OFTREE) += arch/riscv/dts/ + +CPPFLAGS += $(cflags-y) +CFLAGS += $(cflags-y) + +lds-y := arch/riscv/lib/barebox.lds + +CLEAN_FILES += arch/riscv/lib/barebox.lds |