mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ROOT	:= ..
 | |
| SUFFIX	:= work
 | |
| ARCHDIR	:= $(ROOT)/tests/riscof
 | |
| WALLYDIR:= $(ROOT)/tests/wally-riscv-arch-test
 | |
| # IMPERASDIR	:= $(ROOT)/tests/imperas-riscv-tests
 | |
| # ALLDIRS := $(ARCHDIR)/$(SUFFIX) $(WALLYDIR)/$(SUFFIX) $(IMPERASDIR)/$(SUFFIX)
 | |
| IMPERASDIR	:= $(ROOT)/tests/imperas-riscv-tests
 | |
| #ALLDIRS := $(ARCHDIR)/$(SUFFIX) $(WALLYDIR)/$(SUFFIX) 
 | |
| ALLDIRS := $(ARCHDIR)/$(SUFFIX)
 | |
| 
 | |
| ELFFILES	?= $(shell find $(ALLDIRS) -type f -regex ".*\.elf")
 | |
| OBJDUMPFILES	?= $(shell find $(ALLDIRS) -type f -regex ".*\.elf.objdump")
 | |
| MEMFILES ?= $(ELFFILES:.elf=.elf.memfile)
 | |
| ADDRFILES ?= $(OBJDUMPFILES:.objdump=.objdump.addr)
 | |
| 
 | |
| print:
 | |
| 	echo "files in $(ALLDIRS) are $(ELFFILES)."
 | |
| 	echo "memfiles are $(MEMFILES)"
 | |
| 
 | |
| .PHONY: all wally-sim-files
 | |
| all: wally-sim-files
 | |
| 
 | |
| wally-sim-files: $(MEMFILES) $(ADDRFILES) 
 | |
| 	echo "$@"
 | |
| 
 | |
| # notes to self on how this works.
 | |
| # The find command locates all of the *.elf files in directory DIR1.  A list of .memfiles and
 | |
| # .addr files are generated from the .elf.  These are used as targets.
 | |
| # % is a wildcard in a make target which is then referenced as % in the depenecies and $*
 | |
| # in the recipe.
 | |
| # because elf2hex requires a bit width we use findstring to figure out if the compiled directory
 | |
| # is XLEN=64 or 32. This is hacky and will likely break in the future.
 | |
| # the .addr is a separate target so make can split into more jobs and more parallism.
 | |
| %.elf.memfile: %.elf
 | |
| 	riscv64-unknown-elf-elf2hex --bit-width $(if $(findstring rv64,$*),64,32) --input $< --output $@
 | |
| 
 | |
| %.elf.objdump.addr: %.elf.objdump
 | |
| 	extractFunctionRadix.sh $<
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 |