cvw/tests/coverage/Makefile

39 lines
1.7 KiB
Makefile
Raw Normal View History

2023-03-22 18:17:17 +00:00
CEXT := c
CPPEXT := cpp
AEXT := s
SEXT := S
SRCEXT := \([$(CEXT)$(AEXT)$(SEXT)]\|$(CPPEXT)\)
#SRCS = $(wildcard *.S)
#PROGS = $(patsubst %.S,%,$(SRCS))
SRCDIR = .
SRCEXT = S
2024-10-18 19:25:30 +00:00
SOURCES ?= amoAccessFault.S # $(shell find $(SRCDIR) -type f -regex ".*\.$(SRCEXT)" | sort)
2023-03-22 18:17:17 +00:00
OBJEXT = elf
OBJECTS := $(SOURCES:.$(SEXT)=.$(OBJEXT))
2023-03-21 13:57:03 +00:00
2023-03-22 18:17:17 +00:00
all: $(OBJECTS)
2023-03-21 13:57:03 +00:00
2024-10-18 18:35:15 +00:00
elf.o.objdump: %.elf
2023-03-22 18:17:17 +00:00
# Change many things if bit width isn't 64
2023-03-22 18:17:17 +00:00
%.elf: $(SRCDIR)/%.$(SEXT) WALLY-init-lib.h Makefile
2024-10-18 19:25:30 +00:00
# riscv64-unknown-elf-gcc -E -Wall -g -o $*.s -march=rv64gqc_zfa_zba_zbb_zbc_zbs_zfh_zicboz_zicbop_zicbom_zbkb_zbkx_zknd_zkne_zknh -mabi=lp64 -mcmodel=medany -nostartfiles -T../../examples/link/link.ld $<
# riscv64-unknown-elf-as -g -o WALLY-init-lib.o -march=rv64gqc_zfa_zba_zbb_zbc_zbs_zfh_zicboz_zicbop_zicbom_zbkb_zbkx_zknd_zkne_zknh -mabi=lp64 WALLY-init-lib.h
riscv64-unknown-elf-as -g -o $*.o -march=rv64gqc_zfa_zba_zbb_zbc_zbs_zfh_zicboz_zicbop_zicbom_zbkb_zbkx_zknd_zkne_zknh -mabi=lp64 $<
# riscv64-unknown-elf-gcc -g -o $@ -march=rv64gqc_zfa_zba_zbb_zbc_zbs_zfh_zicboz_zicbop_zicbom_zbkb_zbkx_zknd_zkne_zknh -mabi=lp64 -mcmodel=medany -nostartfiles -T../../examples/link/link.ld $*.o
riscv64-unknown-elf-gcc -g -o $@ -march=rv64gqc_zfa_zba_zbb_zbc_zbs_zfh_zicboz_zicbop_zicbom_zbkb_zbkx_zknd_zkne_zknh -mabi=lp64 -mcmodel=medany -nostartfiles -T../../examples/link/link.ld $*.o
riscv64-unknown-elf-objdump -S -D $@ > $@.objdump
riscv64-unknown-elf-elf2hex --bit-width 64 --input $@ --output $@.memfile
2023-03-22 18:17:17 +00:00
extractFunctionRadix.sh $@.objdump
2024-10-18 19:25:30 +00:00
sim: %.elf
spike +signature=%.signature.output +signature-granularity=8 %.elf
diff --ignore-case %.signature.output %.reference_output || exit
2023-03-21 13:57:03 +00:00
echo "Signature matches! Success!"
clean:
2024-10-18 19:25:30 +00:00
rm -f *.elf *.objdump *.signature.output *.addr *.lab *.memfile *.o *.s
2023-03-21 13:57:03 +00:00