1 # RISCV environment variable must be set
3 CC
=$(RISCV
)/bin
/riscv64-unknown-elf-gcc
4 OBJCOPY
=$(RISCV
)/bin
/riscv64-unknown-elf-objcopy
5 CFLAGS
=-march
=rv64imac
-mcmodel
=medany
-O2
-std
=gnu11
-Wall
-nostartfiles
6 CFLAGS
+= -fno-common
-g
-DENTROPY
=0 -mabi
=lp64
-DNONSMP_HART
=0
7 CFLAGS
+= -I
$(BOOTROM_DIR
)/include -I.
8 LFLAGS
=-static
-nostdlib
-L
$(BOOTROM_DIR
)/linker
-T sdboot.elf.lds
10 dtb
:= $(BUILD_DIR
)/$(CONFIG
).dtb
11 $(dtb
): $(BUILD_DIR
)/$(CONFIG
).dts
12 dtc
-I dts
-O dtb
-o
$@
$<
17 elf
:= $(BUILD_DIR
)/sdboot.elf
18 $(elf
): $(dtb
) head.S kprintf.c sd.c
19 $(CC
) $(CFLAGS
) -DDEVICE_TREE
='"$(dtb)"' $(LFLAGS
) -o
$@ head.S sd.c kprintf.c
24 bin
:= $(BUILD_DIR
)/sdboot.bin
26 $(OBJCOPY
) -O binary
$< $@
31 hex
:= $(BUILD_DIR
)/sdboot.hex
33 od
-t x4
-An
-w4
-v
$< > $@
38 romgen
:= $(BUILD_DIR
)/rom.v
40 $(rocketchip_dir
)/scripts
/vlsi_rom_gen
$(ROMCONF
) $< > $@