note unexpected return statuses in junit
[SymbiYosys.git] / Makefile
1
2 DESTDIR =
3 PREFIX = /usr/local
4 PROGRAM_PREFIX =
5
6 # On Windows, manually setting absolute path to Python binary may be required
7 # for launcher executable to work. From MSYS2, this can be done using the
8 # following command: "which python3 | cygpath -w -m -f -".
9 ifeq ($(OS), Windows_NT)
10 PYTHON = $(shell cygpath -w -m $(PREFIX)/bin/python3)
11 endif
12
13 help:
14 @echo ""
15 @echo "sudo make install"
16 @echo " build and install SymbiYosys (sby)"
17 @echo ""
18 @echo "make html"
19 @echo " build documentation in docs/build/html/"
20 @echo ""
21 @echo "make test"
22 @echo " run examples"
23 @echo ""
24 @echo "make clean"
25 @echo " cleanup"
26 @echo ""
27
28 install:
29 mkdir -p $(DESTDIR)$(PREFIX)/bin
30 mkdir -p $(DESTDIR)$(PREFIX)/share/yosys/python3
31 cp sbysrc/sby_*.py $(DESTDIR)$(PREFIX)/share/yosys/python3/
32 sed -e 's|##yosys-program-prefix##|"'$(PROGRAM_PREFIX)'"|' < sbysrc/sby_core.py > $(DESTDIR)$(PREFIX)/share/yosys/python3/sby_core.py
33 ifeq ($(OS), Windows_NT)
34 sed -e 's|##yosys-sys-path##|sys.path += [os.path.dirname(__file__) + p for p in ["/share/python3", "/../share/yosys/python3"]]|;' \
35 -e "s|#!/usr/bin/env python3|#!$(PYTHON)|" < sbysrc/sby.py > $(DESTDIR)$(PREFIX)/bin/sby-script.py
36 gcc -DGUI=0 -O -s -o $(DESTDIR)$(PREFIX)/bin/sby.exe extern/launcher.c
37 else
38 sed 's|##yosys-sys-path##|sys.path += [os.path.dirname(__file__) + p for p in ["/share/python3", "/../share/yosys/python3"]]|;' < sbysrc/sby.py > $(DESTDIR)$(PREFIX)/bin/sby
39 chmod +x $(DESTDIR)$(PREFIX)/bin/sby
40 endif
41
42 ci: \
43 test_demo1 test_demo2 test_demo3 \
44 test_abstract_abstr test_abstract_props \
45 test_demos_fib_cover test_demos_fib_prove test_demos_fib_live \
46 test_multiclk_dpmem \
47 test_puzzles_djb2hash test_puzzles_pour853to4 test_puzzles_wolfgoatcabbage \
48 test_puzzles_primegen_primegen test_puzzles_primegen_primes_pass test_puzzles_primegen_primes_fail \
49 test_quickstart_demo test_quickstart_cover test_quickstart_prove test_quickstart_memory \
50 run_tests
51 if yosys -qp 'read -verific' 2> /dev/null; then set -x; \
52 YOSYS_NOVERIFIC=1 $(MAKE) ci; \
53 fi
54
55 test_demo1:
56 cd sbysrc && python3 sby.py -f demo1.sby
57
58 test_demo2:
59 cd sbysrc && python3 sby.py -f demo2.sby
60
61 test_demo3:
62 cd sbysrc && python3 sby.py -f demo3.sby
63
64 test_abstract_abstr:
65 @if yosys -qp 'read -verific' 2> /dev/null; then set -x; \
66 cd docs/examples/abstract && python3 ../../../sbysrc/sby.py -f abstr.sby; \
67 else echo "skipping $@"; fi
68
69 test_abstract_props:
70 if yosys -qp 'read -verific' 2> /dev/null; then set -x; \
71 cd docs/examples/abstract && python3 ../../../sbysrc/sby.py -f props.sby; \
72 else echo "skipping $@"; fi
73
74 test_demos_fib_cover:
75 cd docs/examples/demos && python3 ../../../sbysrc/sby.py -f fib.sby cover
76
77 test_demos_fib_prove:
78 cd docs/examples/demos && python3 ../../../sbysrc/sby.py -f fib.sby prove
79
80 test_demos_fib_live:
81 cd docs/examples/demos && python3 ../../../sbysrc/sby.py -f fib.sby live
82
83 test_multiclk_dpmem:
84 cd docs/examples/multiclk && python3 ../../../sbysrc/sby.py -f dpmem.sby
85
86 test_puzzles_djb2hash:
87 cd docs/examples/puzzles && python3 ../../../sbysrc/sby.py -f djb2hash.sby
88
89 test_puzzles_pour853to4:
90 cd docs/examples/puzzles && python3 ../../../sbysrc/sby.py -f pour_853_to_4.sby
91
92 test_puzzles_wolfgoatcabbage:
93 cd docs/examples/puzzles && python3 ../../../sbysrc/sby.py -f wolf_goat_cabbage.sby
94
95 test_puzzles_primegen_primegen:
96 cd docs/examples/puzzles && python3 ../../../sbysrc/sby.py -f primegen.sby primegen
97
98 test_puzzles_primegen_primes_pass:
99 cd docs/examples/puzzles && python3 ../../../sbysrc/sby.py -f primegen.sby primes_pass
100
101 test_puzzles_primegen_primes_fail:
102 cd docs/examples/puzzles && python3 ../../../sbysrc/sby.py -f primegen.sby primes_fail
103
104 test_quickstart_demo:
105 cd docs/examples/quickstart && python3 ../../../sbysrc/sby.py -f demo.sby
106
107 test_quickstart_cover:
108 cd docs/examples/quickstart && python3 ../../../sbysrc/sby.py -f cover.sby
109
110 test_quickstart_prove:
111 cd docs/examples/quickstart && python3 ../../../sbysrc/sby.py -f prove.sby
112
113 test_quickstart_memory:
114 cd docs/examples/quickstart && python3 ../../../sbysrc/sby.py -f memory.sby
115
116 run_tests:
117 $(MAKE) -C tests test
118
119 html:
120 $(MAKE) -C docs html
121
122 clean:
123 $(MAKE) -C docs clean
124 rm -rf docs/build sbysrc/sby sbysrc/__pycache__