Updates to Freedom SoCs
[freedom-sifive.git] / bootrom / xip / Makefile
1 # RISCV environment variable must be set
2
3 CC=$(RISCV)/bin/riscv64-unknown-elf-gcc
4 OBJCOPY=$(RISCV)/bin/riscv64-unknown-elf-objcopy
5 CFLAGS=-march=rv32imac -mabi=ilp32 -O2 -std=gnu11 -Wall -I. -nostartfiles -fno-common -g
6 LFLAGS=-static -nostdlib
7
8 dtb := $(BUILD_DIR)/$(CONFIG).dtb
9 $(dtb): $(BUILD_DIR)/$(CONFIG).dts
10 dtc -I dts -O dtb -o $@ $<
11
12 .PHONY: dtb
13 dtb: $(dtb)
14
15 elf := $(BUILD_DIR)/xip.elf
16 $(elf): xip.S $(dtb)
17 $(CC) $(CFLAGS) -DXIP_TARGET_ADDR=0x20400000 -DDEVICE_TREE='"$(dtb)"' $(LFLAGS) -o $@ $<
18
19 .PHONY: elf
20 elf: $(elf)
21
22 bin := $(BUILD_DIR)/xip.bin
23 $(bin): $(elf)
24 $(OBJCOPY) -O binary $< $@
25
26 .PHONY: bin
27 bin: $(bin)
28
29 hex := $(BUILD_DIR)/xip.hex
30 $(hex): $(bin)
31 od -t x4 -An -w4 -v $< > $@
32
33 .PHONY: hex
34 hex: $(hex)
35
36 romgen := $(BUILD_DIR)/rom.v
37 $(romgen): $(hex)
38 $(rocketchip_dir)/scripts/vlsi_rom_gen $(ROMCONF) $< > $@
39
40 .PHONY: romgen
41 romgen: $(romgen)
42
43 .PHONY: clean
44 clean::
45 rm -rf $(hex) $(elf)