blob: 4895be9614b12dc020640b9fca186ef8be5c547f (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
CC ?= clang
CFLAGS_MARCH ?= -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
CFLAGS_OPT ?= -O3
CFLAGS ?= ${CFLAGS_MARCH} ${CFLAGS_OPT}
ifeq (${CC}, clang)
CC := ${CC} -target riscv32-none-elf
endif
.PHONY: all dump-uk dump-de dump-us load-uk load-de load-us clean
all: rrxing-de.hex rrxing-uk.hex rrxing-us.hex
rrxing-de.o: rrxing.c
clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -DRRXING_DE -o rrxing-de.o rrxing.c
rrxing-de.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing-de.o
clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o rrxing-de.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing-de.o ../rvcontroller-libraries/rvcontroller-ecalls.o
dump-de: rrxing-de.elf
riscv32-none-elf-objdump -d rrxing-de.elf
rrxing-de.hex: rrxing-de.elf
riscv32-none-elf-objcopy -O ihex rrxing-de.elf rrxing-de.hex
load-de: rrxing-de.hex
bash -c "wl-copy < rrxing-de.hex"
rrxing-uk.o: rrxing.c
clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -DRRXING_UK -o rrxing-uk.o rrxing.c
rrxing-uk.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing-uk.o
clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o rrxing-uk.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing-uk.o ../rvcontroller-libraries/rvcontroller-ecalls.o
dump-uk: rrxing-uk.elf
riscv32-none-elf-objdump -d rrxing-uk.elf
rrxing-uk.hex: rrxing-uk.elf
riscv32-none-elf-objcopy -O ihex rrxing-uk.elf rrxing-uk.hex
load-uk: rrxing-uk.hex
bash -c "wl-copy < rrxing-uk.hex"
rrxing-us.o: rrxing.c
clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -DRRXING_US -o rrxing-us.o rrxing.c
rrxing-us.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing-us.o
clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o rrxing-us.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing-us.o ../rvcontroller-libraries/rvcontroller-ecalls.o
dump-us: rrxing-us.elf
riscv32-none-elf-objdump -d rrxing-us.elf
rrxing-us.hex: rrxing-us.elf
riscv32-none-elf-objcopy -O ihex rrxing-us.elf rrxing-us.hex
load-us: rrxing-us.hex
bash -c "wl-copy < rrxing-us.hex"
clean:
rm -f rrxing-de.hex rrxing-de.elf rrxing-de.o rrxing-uk.hex rrxing-uk.elf rrxing-uk.o rrxing-us.hex rrxing-us.elf rrxing-us.o init.o
|