summaryrefslogtreecommitdiff
path: root/tests/xsthammer/Makefile
blob: 63b489dd3f7644e6c659170c10b3fe2620cde2e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
include generate.lst

test: $(TARGETS)

vivado: $(addprefix check_vivado/,$(notdir $(TARGETS)))

quartus: $(addprefix check_quartus/,$(notdir $(TARGETS)))

report:
	ls check check_quartus/ check_vivado | grep '\.err$$' | sort -u | cut -f1 -d. | gawk '{ print "report/" $$0 ".html"; }' | xargs -r $(MAKE)

report/%.html:
	bash report.sh $(notdir $(basename $@))

check/%.log: rtl/%.v xst/%.v
	bash run-check.sh $(notdir $(basename $<))

check_vivado/%.log: rtl/%.v vivado/%.v
	bash run-check.sh -vivado $(notdir $(basename $<))

check_quartus/%.log: rtl/%.v quartus/%.v
	bash run-check.sh -quartus $(notdir $(basename $<))

xst/%.v: rtl/%.v
	bash run-xst.sh $(notdir $(basename $<))

vivado/%.v: rtl/%.v
	bash run-vivado.sh $(notdir $(basename $<))

quartus/%.v: rtl/%.v
	bash run-quartus.sh $(notdir $(basename $<))

generate.lst: generate.cc
	clang -Wall -o generate generate.cc -lstdc++
	./generate
	{ echo -n "TARGETS := "; ls rtl/ | sed 's,\.v$$,.log,; s,^,check/,;' | tr '\n' ' '; } > generate.lst

check_xl_cells:
	../../yosys xl_cells_tb.ys

clean:
	rm -rf generate generate.lst check_temp xst_temp

mrproper: clean
	rm -rf rtl xst check

backup:
	mkdir -p ~/.yosys/xhammer
	tar cvzf ~/.yosys/xhammer/xst_files.tar.gz xst
	tar cvzf ~/.yosys/xhammer/vivado_files.tar.gz vivado
	tar cvzf ~/.yosys/xhammer/quartus_files.tar.gz quartus

restore:
	tar xvzf ~/.yosys/xhammer/xst_files.tar.gz
	tar xvzf ~/.yosys/xhammer/vivado_files.tar.gz
	tar xvzf ~/.yosys/xhammer/quartus_files.tar.gz

.PHONY: test vivado quartus report check_xl_cells clean mrproper backup restore
.PRECIOUS: check/%.log xst/%.v vivado/%.v quartus/%.v rtl/%.v generate.lst