aboutsummaryrefslogtreecommitdiff
path: root/debug_rom/Makefile
blob: b72f37db7b6193bff825d0e0974302bc4aab66a8 (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
# Recursive make is bad, but in this case we're cross compiling which is a
# pretty unusual use case.

CC = $(RISCV)/bin/riscv64-unknown-elf-gcc
OBJCOPY = $(RISCV)/bin/riscv64-unknown-elf-objcopy

COMPILE = $(CC) -nostdlib -nostartfiles -I.. -Tlink.ld

ELFS = debug_rom debug_rom32 debug_rom64
DEPS = debug_rom.S link.ld

all: $(patsubst %,%.h,$(ELFS))

%.h:	%.raw
	xxd -i $^ | sed "s/^unsigned/static const unsigned/" > $@

%.raw:	%
	$(OBJCOPY) -O binary --only-section .text $^ $@

debug_rom:	$(DEPS)
	$(COMPILE) -DRV32 -DRV64 -o $@ $^

debug_rom32:	$(DEPS)
	$(COMPILE) -DRV32 -DDEBUG_RAM_SIZE=28 -o $@ $^

debug_rom64:	$(DEPS)
	$(COMPILE) -DRV64 -o $@ $^

clean:
	rm -f $(ELFS) debug_rom*.raw debug_rom*.h