46 lines
		
	
	
		
			951 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			951 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # RISCV environment variable must be set
 | |
| 
 | |
| CC=$(RISCV)/bin/riscv64-unknown-elf-gcc
 | |
| OBJCOPY=$(RISCV)/bin/riscv64-unknown-elf-objcopy
 | |
| CFLAGS=-march=rv32imac -mabi=ilp32 -O2 -std=gnu11 -Wall -I. -nostartfiles -fno-common -g
 | |
| LFLAGS=-static -nostdlib
 | |
| 
 | |
| dtb := $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).dtb
 | |
| $(dtb): $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).dts
 | |
| 	dtc -I dts -O dtb -o $@ $<
 | |
| 
 | |
| .PHONY: dtb
 | |
| dtb: $(dtb)
 | |
| 
 | |
| elf := $(BUILD_DIR)/xip.elf
 | |
| $(elf): xip.S $(dtb)
 | |
| 	$(CC) $(CFLAGS) -DXIP_TARGET_ADDR=0x20400000 -DDEVICE_TREE='"$(dtb)"' $(LFLAGS) -o $@ $<
 | |
| 
 | |
| .PHONY: elf
 | |
| elf: $(elf)
 | |
| 
 | |
| bin := $(BUILD_DIR)/xip.bin
 | |
| $(bin): $(elf)
 | |
| 	$(OBJCOPY) -O binary $< $@
 | |
| 
 | |
| .PHONY: bin
 | |
| bin: $(bin)
 | |
| 
 | |
| hex := $(BUILD_DIR)/xip.hex
 | |
| $(hex): $(bin)
 | |
| 	od -t x4 -An -w4 -v $< > $@
 | |
| 
 | |
| .PHONY: hex
 | |
| hex: $(hex)
 | |
| 
 | |
| romgen := $(BUILD_DIR)/rom.v
 | |
| $(romgen): $(hex)
 | |
| 	$(rocketchip_dir)/scripts/vlsi_rom_gen $(ROMCONF) $< > $@
 | |
| 
 | |
| .PHONY: romgen
 | |
| romgen: $(romgen)
 | |
| 
 | |
| .PHONY: clean
 | |
| clean::
 | |
| 	rm -rf $(hex) $(elf) 
 |