1#!/usr/bin/env bash
2#
3# Performs an operation on all targets
4
5set -ex
6
7: "${1?The all.sh script requires one argument.}"
8
9op=$1
10
11cargo_clean() {
12    cargo clean
13}
14
15cargo_check_fmt() {
16    cargo fmt --all -- --check
17}
18
19cargo_fmt() {
20    cargo fmt --all
21}
22
23cargo_clippy() {
24    cargo clippy --all -- -D clippy::perf
25}
26
27CMD="-1"
28
29case $op in
30    clean*)
31        CMD=cargo_clean
32        ;;
33    check_fmt*)
34        CMD=cargo_check_fmt
35        ;;
36    fmt*)
37        CMD=cargo_fmt
38        ;;
39    clippy)
40        CMD=cargo_clippy
41        ;;
42    *)
43        echo "Unknown operation: \"${op}\""
44        exit 1
45        ;;
46esac
47
48echo "Operation is: ${CMD}"
49
50# On src/
51$CMD
52
53# Check examples/
54for dir in examples/*/
55do
56    dir=${dir%*/}
57    (
58        cd "${dir%*/}"
59        $CMD
60    )
61done
62
63(
64    cd verify/verify
65    $CMD
66)
67
68(
69    cd micro_benchmarks
70    $CMD
71)
72