Files
chipyard/tests/Makefile
2023-12-26 12:55:32 -08:00

72 lines
1.4 KiB
Makefile

#################################
# RISCV Toolchain
#################################
TARGET = riscv64-unknown-elf
GCC = $(TARGET)-gcc
CXX = $(TARGET)-g++
CP = $(TARGET)-objcopy
OBJDUMP = $(TARGET)-objdump
DG = $(TARGET)-gdb
SIZE = $(TARGET)-size
#################################
# Flags
#################################
# SoC Settings
ARCH = rv64imafdc
ABI = lp64d
ARCHFLAGS = -march=$(ARCH) -mabi=$(ABI)
CFLAGS = -std=gnu99 -O2 -fno-common -fno-builtin-printf -Wall
CFLAGS += $(ARCHFLAGS)
LDFLAGS = -static
include libgloss.mk
PROGRAMS = pwm blkdev accum charcount nic-loopback big-blkdev pingd \
streaming-passthrough streaming-fir nvdla spiflashread spiflashwrite fft gcd \
hello mt-hello symmetric
.DEFAULT_GOAL := default
#################################
# Build
#################################
spiflash.img: spiflash.py
python3 $<
%.o: %.S
$(GCC) $(CFLAGS) -D__ASSEMBLY__=1 -c $< -o $@
%.o: %.c mmio.h spiflash.h
$(GCC) $(CFLAGS) -c $< -o $@
%.riscv: %.o $(libgloss)
$(GCC) $(LDFLAGS) $< -o $@
%.dump: %.riscv
$(OBJDUMP) -D $< > $@
#################################
# Recipes
#################################
.PHONY: clean
clean:
rm -f *.riscv *.o *.dump
$(if $(libgloss),rm -rf $(libgloss_builddir)/)
.PHONY: default
default: $(addsuffix .riscv, $(PROGRAMS)) spiflash.img
.PHONY: dumps
dumps: $(addsuffix .dump, $(PROGRAMS))