mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-22 04:47:56 -04:00
59 lines
1.8 KiB
Makefile
59 lines
1.8 KiB
Makefile
ROOT_DIR := $(realpath ..)
|
|
include $(ROOT_DIR)/config.mk
|
|
|
|
ifeq ($(XLEN),64)
|
|
CFLAGS += -march=rv64imafd -mabi=lp64d
|
|
else
|
|
CFLAGS += -march=rv32imaf -mabi=ilp32f
|
|
endif
|
|
|
|
INC_DIR := $(VORTEX_HOME)/kernel/include
|
|
SRC_DIR := $(VORTEX_HOME)/kernel/src
|
|
|
|
LLVM_CFLAGS += --sysroot=$(RISCV_SYSROOT)
|
|
LLVM_CFLAGS += --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH)
|
|
LLVM_CFLAGS += -Xclang -target-feature -Xclang +vortex -mllvm -vortex-branch-divergence=0
|
|
#LLVM_CFLAGS += -I$(RISCV_SYSROOT)/include/c++/9.2.0/$(RISCV_PREFIX)
|
|
#LLVM_CFLAGS += -I$(RISCV_SYSROOT)/include/c++/9.2.0
|
|
#LLVM_CFLAGS += -Wl,-L$(RISCV_TOOLCHAIN_PATH)/lib/gcc/$(RISCV_PREFIX)/9.2.0
|
|
#LLVM_CFLAGS += --rtlib=libgcc
|
|
|
|
#CC = $(LLVM_VORTEX)/bin/clang $(LLVM_CFLAGS)
|
|
#AR = $(LLVM_VORTEX)/bin/llvm-ar
|
|
#DP = $(LLVM_VORTEX)/bin/llvm-objdump
|
|
#CP = $(LLVM_VORTEX)/bin/llvm-objcopy
|
|
|
|
CC = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)-gcc
|
|
AR = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)-gcc-ar
|
|
DP = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)-objdump
|
|
CP = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)-objcopy
|
|
|
|
CFLAGS += -O3 -mcmodel=medany -fno-exceptions -fdata-sections -ffunction-sections
|
|
CFLAGS += -I$(INC_DIR) -I$(ROOT_DIR)/hw
|
|
CFLAGS += -DXLEN_$(XLEN)
|
|
|
|
PROJECT := libvortex
|
|
|
|
SRCS = $(SRC_DIR)/vx_start.S $(SRC_DIR)/vx_syscalls.c $(SRC_DIR)/vx_print.S $(SRC_DIR)/tinyprintf.c $(SRC_DIR)/vx_print.c $(SRC_DIR)/vx_spawn.c $(SRC_DIR)/vx_serial.S $(SRC_DIR)/vx_perf.c
|
|
|
|
OBJS = $(addsuffix .o, $(notdir $(SRCS)))
|
|
|
|
all: $(PROJECT).a $(PROJECT).dump
|
|
|
|
$(PROJECT).dump: $(PROJECT).a
|
|
$(DP) -D $(PROJECT).a > $(PROJECT).dump
|
|
|
|
%.S.o: $(SRC_DIR)/%.S
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
%.c.o: $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(PROJECT).a: $(OBJS)
|
|
$(AR) rcs $@ $^
|
|
|
|
.depend: $(SRCS)
|
|
$(CC) $(CFLAGS) -MM $^ > .depend;
|
|
|
|
clean:
|
|
rm -rf *.a *.o *.dump .depend
|