picorv32/scripts/cxxdemo/Makefile

38 lines
1.0 KiB
Makefile
Raw Normal View History

2015-11-03 19:12:37 -05:00
CXX = riscv32-unknown-elf-g++
CC = riscv32-unknown-elf-gcc
AS = riscv32-unknown-elf-gcc
CXXFLAGS = -MD -Os -Wall -std=c++11
CCFLAGS = -MD -Os -Wall -std=c++11
LDFLAGS = -Wl,--gc-sections
LDLIBS = -lstdc++
2015-11-17 08:22:19 -05:00
test: testbench.exe firmware32.hex
2015-11-03 19:12:37 -05:00
vvp -N testbench.exe
testbench.exe: testbench.v ../../picorv32.v
iverilog -o testbench.exe testbench.v ../../picorv32.v
chmod -x testbench.exe
2015-11-17 08:22:19 -05:00
firmware32.hex: firmware.elf start.elf hex8tohex32.py
2015-11-03 19:12:37 -05:00
riscv32-unknown-elf-objcopy -O verilog start.elf start.tmp
riscv32-unknown-elf-objcopy -O verilog firmware.elf firmware.tmp
cat start.tmp firmware.tmp > firmware.hex
2015-11-17 08:22:19 -05:00
python3 hex8tohex32.py firmware.hex > firmware32.hex
2015-11-03 19:12:37 -05:00
rm -f start.tmp firmware.tmp
firmware.elf: firmware.o syscalls.o
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
chmod -x firmware.elf
start.elf: start.S start.ld
$(CC) -nostdlib -o start.elf start.S -T start.ld $(LDLIBS)
chmod -x start.elf
clean:
rm -f *.o *.d *.tmp start.elf
2015-11-17 08:22:19 -05:00
rm -f firmware.elf firmware.hex firmware32.hex
2015-11-03 19:12:37 -05:00
rm -f testbench.exe testbench.vcd
-include *.d
.PHONY: test clean