22# RISCV Toolchain
33# ################################
44
5- TARGET = riscv64-unknown-elf
5+ TARGET = /home/willis/chipyard/.conda-env/riscv-tools/bin/ riscv64-unknown-elf
66
77GCC = $(TARGET ) -gcc
88CXX = $(TARGET ) -g++
@@ -11,7 +11,10 @@ OBJDUMP = $(TARGET)-objdump
1111DG = $(TARGET ) -gdb
1212SIZE = $(TARGET ) -size
1313
14-
14+ COMMON_SRCS := cordic.c
15+ COMMON_OBJS := $(COMMON_SRCS:.c=.o )
16+ $(COMMON_OBJS ) : % .o : % .c mmio.h cordic.h
17+ $(GCC ) $(CFLAGS ) -c $< -o $@
1518# ################################
1619# Flags
1720# ################################
@@ -21,15 +24,15 @@ ARCH = rv64imafdc
2124ABI = lp64d
2225ARCHFLAGS = -march=$(ARCH ) -mabi=$(ABI )
2326
24- CFLAGS = -std=gnu99 -O2 -fno-common -fno-builtin-printf -Wall
27+ CFLAGS = -std=gnu99 -O2 -fno-common -fno-builtin-printf -Wall
2528CFLAGS += $(ARCHFLAGS )
2629LDFLAGS = -static
27-
30+ LDLIBS = -lm -Wl,-u,_printf_float
2831include libgloss.mk
2932
3033PROGRAMS = pwm blkdev accum charcount nic-loopback big-blkdev pingd \
3134 streaming-passthrough streaming-fir nvdla spiflashread spiflashwrite fft gcd \
32- hello mt-hello symmetric
35+ hello mt-hello symmetric test SVD_2x2 fft_soft inv_gauss
3336
3437
3538.DEFAULT_GOAL := default
@@ -45,11 +48,12 @@ spiflash.img: spiflash.py
4548% .o : % .S
4649 $(GCC ) $(CFLAGS ) -D__ASSEMBLY__=1 -c $< -o $@
4750
48- % .o : % .c mmio.h spiflash.h
51+ % .o : % .c mmio.h spiflash.h cordic.h
4952 $(GCC ) $(CFLAGS ) -c $< -o $@
5053
51- % .riscv : % .o $(libgloss )
52- $(GCC ) $(LDFLAGS ) $< -o $@
54+ % .riscv : % .o $(libgloss ) $(COMMON_OBJS )
55+ $(GCC ) $(LDFLAGS ) $< $(COMMON_OBJS ) -o $@ $(LDLIBS )
56+
5357
5458% .dump : % .riscv
5559 $(OBJDUMP ) -D $< > $@
6872default : $(addsuffix .riscv, $(PROGRAMS ) ) spiflash.img
6973
7074.PHONY : dumps
71- dumps : $(addsuffix .dump, $(PROGRAMS ) )
75+ dumps : $(addsuffix .dump, $(PROGRAMS ) )
0 commit comments