-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
104 lines (82 loc) · 2.1 KB
/
Makefile
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
BROWSER = firefox
BENCH_D = bench
DOCS_D = _docs
TEST_COV_D = /tmp/bio_io
.PHONY: all_dev
all_dev: clean build_dev test_dev
.PHONY: all_release
all_release: clean build_release test_release
.PHONY: bench
bench: bench_io bench_cigar bench_fasta bench_fasta_exe
.PHONY: bench_fasta
bench_fasta:
dune build && \
BENCH_FASTA_INFILE=$(BENCH_D)/seqs.10000.faa \
dune exec ./bench/bench_fasta.exe 2> /dev/null
.PHONY: bench_fasta_exe
bench_fasta_exe:
dune build && \
BENCH_FASTA_INFILE=$(BENCH_D)/seqs.10000.faa \
hyperfine -w 30 './_build/default/bench/bench_fasta_exe.exe 2> /dev/null'
.PHONY: bench_io
bench_io:
dune build && \
BENCH_IO_INFILE=$(BENCH_D)/seqs.10000.faa \
dune exec ./bench/bench_io.exe 2> /dev/null
.PHONY: bench_cigar
bench_cigar:
dune build && \
dune exec ./bench/bench_cigar.exe 2> /dev/null
.PHONY: build_dev
build_dev:
dune build --profile=dev
.PHONY: build_release
build_release:
dune build --profile=release
.PHONY: check
check:
dune build @check
.PHONY: clean
clean:
dune clean
.PHONY: docs
docs:
dune build @doc
.PHONY: docs_site
docs_site:
if [ -d $(DOCS_D) ]; then rm -rf $(DOCS_D); fi
dune build @doc && \
mv _build/default/_doc/_html $(DOCS_D) && \
chmod 755 $(DOCS_D)
.PHONY: install_dev
install_dev:
dune install --profile=dev
.PHONY: install_release
install_release:
dune install --profile=release
.PHONY: promote
promote:
dune promote
.PHONY: uninstall
uninstall:
dune uninstall
.PHONY: test_dev
test_dev:
dune runtest --profile=dev
.PHONY: test_release
test_release:
dune runtest --profile=release
.PHONY: test_coverage
test_coverage:
if [ -d $(TEST_COV_D) ]; then rm -r $(TEST_COV_D); fi
mkdir -p $(TEST_COV_D)
BISECT_FILE=$(TEST_COV_D)/bio_io dune runtest --no-print-directory \
--instrument-with bisect_ppx --force
bisect-ppx-report html --coverage-path $(TEST_COV_D)
bisect-ppx-report summary --coverage-path $(TEST_COV_D)
.PHONY: test_coverage_open
test_coverage_open: test_coverage
$(BROWSER) _coverage/index.html
.PHONY: send_coverage
send_coverage: clean test_coverage
bisect-ppx-report send-to Coveralls --coverage-path $(TEST_COV_D)