CC = $(RISCV)/bin/riscv64-unknown-elf-gcc
OBJCOPY = $(RISCV)/bin/riscv64-unknown-elf-objcopy
-%.o: %.S
- $(CC) -c $<
+COMPILE = $(CC) -nostdlib -nostartfiles -I.. -Tlink.ld
-debug_rom.c: debug_rom.raw
- xxd -i $^ > $@
+ELFS = debug_rom
+DEPS = debug_rom.S link.ld debug_rom_defines.h
-debug_rom.raw: debug_rom
- $(OBJCOPY) -O binary --only-section .text debug_rom debug_rom.raw
+all: $(patsubst %,%.h,$(ELFS))
-debug_rom: debug_rom.o
- $(CC) -nostdlib -nostartfiles -Tlink.ld -o $@ $^
+%.h: %.raw
+ xxd -i $^ | sed "s/^unsigned/static const unsigned/" > $@
+
+%.raw: %
+ $(OBJCOPY) -O binary --only-section .text $^ $@
+
+debug_rom: $(DEPS)
+ $(COMPILE) -o $@ $^
clean:
- rm -f debug_rom debug_rom.o debug_rom.raw debug_rom.c
+ rm -f $(ELFS) debug_rom*.raw debug_rom.h