cvw/tests/fp/testfloat/Makefile
2024-09-20 16:43:36 -07:00

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/*