From 97509f548a20a67b860ffe8cfb5a1dacea00e72b Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 24 Mar 2023 18:44:37 +0000 Subject: [PATCH] tb_cxxrtl Makefile: better support for building multiple tb configurations --- test/sim/tb_cxxrtl/.gitignore | 3 +++ test/sim/tb_cxxrtl/Makefile | 16 +++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/test/sim/tb_cxxrtl/.gitignore b/test/sim/tb_cxxrtl/.gitignore index 719db5b..36cab80 100644 --- a/test/sim/tb_cxxrtl/.gitignore +++ b/test/sim/tb_cxxrtl/.gitignore @@ -1,2 +1,5 @@ tb dut.cpp +build.* +tb_multicore + diff --git a/test/sim/tb_cxxrtl/Makefile b/test/sim/tb_cxxrtl/Makefile index 299564a..22ea118 100644 --- a/test/sim/tb_cxxrtl/Makefile +++ b/test/sim/tb_cxxrtl/Makefile @@ -1,20 +1,22 @@ TOP := tb DOTF := tb.f CONFIG := default +TBEXEC := $(patsubst %.f,%,DOTF) .PHONY: clean all -all: tb +all: $(TBEXEC) SYNTH_CMD += read_verilog -I ../../../hdl -DCONFIG_HEADER="config_$(CONFIG).vh" $(shell listfiles $(DOTF)); SYNTH_CMD += hierarchy -top $(TOP); -SYNTH_CMD += write_cxxrtl dut.cpp +SYNTH_CMD += write_cxxrtl build-$(DOTF)/dut.cpp -dut.cpp: $(shell listfiles $(DOTF)) - yosys -p '$(SYNTH_CMD)' 2>&1 > cxxrtl.log +build-$(DOTF)/dut.cpp: $(shell listfiles $(DOTF)) + mkdir -p build-$(DOTF) + yosys -p '$(SYNTH_CMD)' 2>&1 > build-$(DOTF)/cxxrtl.log clean:: - rm -f dut.cpp cxxrtl.log tb + rm -f build-$(DOTF) $(TBEXEC) -tb: dut.cpp tb.cpp - clang++ -O3 -std=c++14 $(addprefix -D,$(CDEFINES)) -I $(shell yosys-config --datdir)/include tb.cpp -o tb +$(TBEXEC): build-$(DOTF)/dut.cpp tb.cpp + clang++ -O3 -std=c++14 $(addprefix -D,$(CDEFINES)) -I $(shell yosys-config --datdir)/include -I build-$(DOTF) tb.cpp -o $(TBEXEC)