|
|
- PLATFORM ?= murax
- RISCV_ARCH ?= rv32im
- RISCV_ABI ?= ilp32
- RISCV_CMODEL ?= medany
- RISCV_ARCHFLAGS += -march=$(RISCV_ARCH)
- RISCV_ARCHFLAGS += -mabi=$(RISCV_ABI)
- RISCV_ARCHFLAGS += -mcmodel=$(RISCV_CMODEL)
-
- CFLAGS += -Os -Wall -Wextra
- CFLAGS += $(RISCV_ARCHFLAGS)
- CFLAGS += -fstrict-volatile-bitfields
- CFLAGS += --specs=nosys.specs
-
- ifeq ($(PLATFORM),murax)
- CFLAGS += -DVEXRISCV_VOLATILE
- endif
-
- ifeq ($(PLATFORM),pqvexriscvup5k)
- CFLAGS += -DVEXRISCV_VOLATILE -DVEXRISCV_RWMTVEC
- endif
-
- ifeq ($(PLATFORM),pqvexriscvicoboard)
- CFLAGS += -DVEXRISCV_VOLATILE -DVEXRISCV_RWMTVEC
- endif
-
- ifeq ($(PLATFORM),pqvexriscvsim)
- CFLAGS += -DVEXRISCV_RWMTVEC
- endif
-
- ifeq ($(PLATFORM),pqvexriscvsimhuge)
- CFLAGS += -DVEXRISCV_RWMTVEC
- endif
-
- CROSS_PREFIX ?= riscv64-unknown-elf
- CC = $(CROSS_PREFIX)-gcc
- AR = $(CROSS_PREFIX)-ar
-
- SRCS = init.c start.s
- OBJS = $(PLATFORM)_init.o $(PLATFORM)_start.o
- TARGET = lib$(PLATFORM)bsp.a
-
- all: $(TARGET)
-
- $(TARGET): $(OBJS)
- $(AR) rcs $@ $^
-
- $(PLATFORM)_%.o: %.c
- $(CC) $(CFLAGS) -c -o $@ $<
-
- $(PLATFORM)_%.o: %.S
- $(CC) $(CFLAGS) -c -o $@ $<
-
- clean:
- rm -rf $(OBJS) $(TARGET)
|