diff options
Diffstat (limited to 'c/blankscreen/Makefile')
| -rw-r--r-- | c/blankscreen/Makefile | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/c/blankscreen/Makefile b/c/blankscreen/Makefile new file mode 100644 index 0000000..5d96eeb --- /dev/null +++ b/c/blankscreen/Makefile @@ -0,0 +1,34 @@ +CC ?= clang +CFLAGS_MARCH ?= -march=rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt +CFLAGS_OPT ?= -O3 +CFLAGS ?= ${CFLAGS_MARCH} ${CFLAGS_OPT} + +# Big-endian just for the sake of being weird + +ifeq (${CC}, clang) + CC := ${CC} -target riscv32be-none-elf +endif + +.PHONY: all dump load clean + +all: blankscreen.hex + +blankscreen.o: blankscreen.c + ${CC} -I../rvcontroller-libraries ${CFLAGS} -ffreestanding -c -o blankscreen.o blankscreen.c + + +blankscreen.elf: ../rvcontroller-libraries/rvcontroller-init-be.o ../rvcontroller-libraries/rvcontroller-ecalls-be.o blankscreen.o + ${CC} -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o blankscreen.elf ../rvcontroller-libraries/rvcontroller-init-be.o ../rvcontroller-libraries/rvcontroller-ecalls-be.o blankscreen.o + +dump: blankscreen.elf + riscv32be-none-elf-objdump -d blankscreen.elf + +blankscreen.hex: blankscreen.elf + riscv32be-none-elf-objcopy -O ihex blankscreen.elf blankscreen.hex + +load: blankscreen.hex + bash -c "wl-copy < blankscreen.hex" + +clean: + rm -f blankscreen.bin blankscreen.elf blankscreen.o + |
