aboutsummaryrefslogtreecommitdiffstats
path: root/dhrystone/Makefile
blob: 412ffda489036f05b362aa9850432a625a821ce7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

OBJS = start.o dhry_1.o dhry_2.o stdlib.o
CFLAGS = -MD -O3 -m32 -march=RV32I -ffreestanding -nostdlib -DTIME -DRISCV

test: testbench.exe dhry.hex
	vvp -N testbench.exe

testbench.exe: testbench.v ../picorv32.v
	iverilog -o testbench.exe testbench.v ../picorv32.v
	chmod -x testbench.exe

dhry.hex: dhry.bin ../firmware/makehex.py
	python3 ../firmware/makehex.py $< > $@

dhry.bin: dhry.elf
	riscv64-unknown-elf-objcopy -O binary $< $@
	chmod -x $@
	
dhry.elf: $(OBJS) ../firmware/sections.lds
	riscv64-unknown-elf-gcc $(CFLAGS) -Wl,-Bstatic,-T,../firmware/sections.lds,-Map,dhry.map,--strip-debug -o $@ $(OBJS) -lgcc
	chmod -x $@

%.o: %.c
	riscv64-unknown-elf-gcc -c $(CFLAGS) $<

%.o: %.S
	riscv64-unknown-elf-gcc -c $(CFLAGS) $<

clean:
	rm -rf *.o *.d dhry.elf dhry.map dhry.bin dhry.hex testbench.exe testbench.vcd

.PHONY: test clean

-include *.d