mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
| # Jordan Carlin, jcarlin@hmc.edu, August 2024
 | |
| # Makefile to generate RISCV and IEEE varaints of Testfloat for CORE-V-Wally
 | |
| # SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
 | |
| 
 | |
| # Makefile to build testfloat and softfloat executables for IEEE and RISC-V floating point variants
 | |
| 
 | |
| # Disable parallel execution because both versions of softfloat/testfloat use the same build directory
 | |
| .NOTPARALLEL:
 | |
| .SECONDEXPANSION:
 | |
| 
 | |
| TESTFLOATS := ieee riscv
 | |
| SOFTFLOAT_BUILD_DIR := ${WALLY}/addins/berkeley-softfloat-3/build/Linux-x86_64-GCC/
 | |
| TESTFLOAT_BUILD_DIR := ${WALLY}/addins/berkeley-testfloat-3/build/Linux-x86_64-GCC/
 | |
| TESTFLOAT_EXECUTABLES := testfloat testfloat_gen testfloat_ver testsoftfloat timesoftfloat
 | |
| ORIGINAL_TESTFLOAT_EXECUTABLES := $(foreach item,${TESTFLOAT_EXECUTABLES},$(patsubst %,${TESTFLOAT_BUILD_DIR}%,${item}))
 | |
| 
 | |
| .PHONY: all ieee-softfloat riscv-softfloat ${TESTFLOATS} testfloat clean
 | |
| 
 | |
| all: riscv ieee
 | |
| 
 | |
| ${TESTFLOATS}: dir_$$@ $$@/testfloat_gen
 | |
| 
 | |
| .PRECIOUS: %/testfloat_gen
 | |
| %/testfloat_gen:
 | |
| 	$(MAKE) $*-softfloat
 | |
| 	$(MAKE) testfloat
 | |
| 	cp -r ${ORIGINAL_TESTFLOAT_EXECUTABLES} $*/
 | |
| 
 | |
| ieee-softfloat:
 | |
| 	$(MAKE) -C $(SOFTFLOAT_BUILD_DIR) clean
 | |
| 	$(MAKE) -C $(SOFTFLOAT_BUILD_DIR)
 | |
| 
 | |
| riscv-softfloat:
 | |
| 	$(MAKE) -C $(SOFTFLOAT_BUILD_DIR) clean
 | |
| 	$(MAKE) SPECIALIZE_TYPE=RISCV -C $(SOFTFLOAT_BUILD_DIR)
 | |
| 
 | |
| testfloat:
 | |
| 	$(MAKE) -C $(TESTFLOAT_BUILD_DIR) clean
 | |
| 	$(MAKE) -C $(TESTFLOAT_BUILD_DIR)
 | |
| 
 | |
| dir_%:
 | |
| 	mkdir -p $*
 | |
| 
 | |
| clean:
 | |
| 	$(MAKE) -C $(SOFTFLOAT_BUILD_DIR) clean
 | |
| 	$(MAKE) -C $(TESTFLOAT_BUILD_DIR) clean
 | |
| 	rm -f ieee/* riscv/*
 |