Add rules for RISC-V.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka
2019-12-03 13:47:55 +09:00
parent 6e1c791b04
commit 6ce92cc0e8
2 changed files with 18 additions and 3 deletions

View File

@@ -1,5 +1,8 @@
2019-12-03 NIIBE Yutaka <gniibe@fsij.org>
* rules.mk [ARCH=riscv32] (MCFLAGS, LDFLAGS): Define.
(CFLAGS, LDFLAGS): Don't add -m for ARM specific.
* example-lcd: New.
2019-12-03 NIIBE Yutaka <gniibe@fsij.org>

View File

@@ -62,24 +62,36 @@ LLIBDIR = $(patsubst %,-L%,$(LIBDIR))
VPATH = $(sort $(dir $(CSRC)))
###
ifeq ($(EMULATION),)
ifeq ($(ARCH),riscv32)
# For now, just for my use of picolibc
INCDIR += /usr/local/picolibc/riscv64-unknown-elf/include
LIBDIR += /usr/local/picolibc/riscv64-unknown-elf/lib/rv32imac/ilp32
#
MCFLAGS = -march=rv32imac -mabi=ilp32
LDFLAGS = $(MCFLAGS) -nodefaultlibs -nostartfiles -lc -T$(LDSCRIPT) \
-Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch
else
MCFLAGS = -mcpu=$(MCU)
LDFLAGS = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT) \
-Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--gc-sections
DEFS += -DARCH_HEADER='"chopstx-$(ARCH).h"' -DARCH_IMPL='"chopstx-$(ARCH).c"'
endif
else
MCFLAGS =
LDFLAGS =
DEFS += -D_GNU_SOURCE -DARCH_HEADER='"chopstx-gnu-linux.h"' \
-DARCH_IMPL='"chopstx-gnu-linux.c"'
DEFS += -D_GNU_SOURCE
endif
DEFS += -DARCH_HEADER='"chopstx-$(ARCH).h"' -DARCH_IMPL='"chopstx-$(ARCH).c"'
CFLAGS = $(MCFLAGS) $(OPT) $(CWARN) -Wa,-alms=$(BUILDDIR)/$(notdir $(<:.c=.lst)) $(DEFS)
LDFLAGS += $(LLIBDIR)
ifeq ($(EMULATION),)
ifeq ($(ARCH),riscv32)
else
CFLAGS += -mthumb -mno-thumb-interwork -DTHUMB
LDFLAGS += -mthumb -mno-thumb-interwork
endif
endif
CFLAGS += -MD -MP -MF .dep/$(@F).d